Until it's not just one machine. You might briefly then use Swarm... But does anyone for long, whether production or home?
K8s has its complexities for sure, but to me it's the simplest - or at least 'only figure it out once' way of running multiple machines (besides having 'the webserver', 'the db server' etc., of course.)
Kubernetes still almost always uses Docker as the runtime. Docker was late to the party with all the other stuff Kubernetes does. With Amazon, Google and Microsoft all offering managed K8s and Enterprise private cloud offerings too, I don't think unseating K8s as a management plane for cloud-native microservices will be trivial, even if the tech is immature and has valid criticisms.