Personally, I think that containers are a good choice for most webdev projects.
If you are just starting out, then Docker Compose is probably very much sufficient for anything that touches upon a single node.
Realistically, once you need to most past that, I feel like most folks would be served just fine by something like Docker Swarm + Portainer, you'd still need to run your own web server in front of your containers if you want something similar to an ingress, but in my eyes that's a plus, given how simple the config is (if you've ever installed Apache/Nginx/Caddy it's very much like that), or maybe go with Traefik if you must. There's scaling, resource reservations and limits, overlay networking between nodes, port mapping, storage, restart policies, configuration and pretty much most of the things you might reasonably need. Something like Hashicorp Nomad could also be mentioned here, but Docker Swarm seems like the simpler option to me.
Past that, it's not like you can't run a bit cut down versions of Kubernetes, that will decrease its surface area somewhat - K0s, K3s and others all try to do this. I personally rather like K3s, it also integrates with Portainer/Rancher nicely if you need a dashboard, you can take advantage of Helm charts and all that other good stuff. I found the choice of K3s using Traefik by default (when I last used it) a bit suspect (configuring a custom non-ACME wildcard cert as the default for the ingress wasn't exactly well documented), but overall it was an okay experience and the resource usage wasn't anything crazy either.
For my personal stuff nowadays, I still run a Docker Swarm cluster and I've no complaints there. It doesn't have autoscaling out of the box, but then again, my workloads are too boring to need that and I enjoy the predictability in billing I get.
There are no production dbs in k8s, no service meshes, monitoring is only side-cars that send data to an off-cluster backend,
The automatic deployment with flux seems pretty nice!
Especially if there's a chance I need to run more than one client, or environment, on a given server, which is more important for "solo" enterprise than for a bigger company because I do not have money or time to care of multiple servers.
You can get to gigantic success and extraordinary scale by growing vertically, without needing to add a very complex layer that kubernetes is.
Think of the many literal millions of lines of code, and thus, potential bugs and liabilities one inherits by "just using kubernetes".
It's not a requirement, neither problematic. Its simply unnecessary for anything remotely resembling a "one-person tech startup".
Besides unnecessary features like horizontal scaling, necessary features like restarting a service already exist, and most likely are already installed in the base distro and being used by the rest of the system. Its not like this couldn't be done before, all kubernetes provides is a conveniet and streamlined package for all that, at the cost of black-hole levels of extra complexity via several added indirections.
It adds vast complexity and is not needed.