I personally like k8s a lot, but my general approach is to fake it until you make it and only add things once it's clear why I need them.
I have a few old boxes that run VMs. Some of these VMs make up a virtual k8s cluster, but almost everything I need runs on bare VMs rather than on k8s.
When I find something particularly annoying to administer, I move it off a bare VM and onto k8s.
The main thing this gives me is a migration path off of "a bunch of custom shell scripts" toward something I believe will be useful in the long run.
A bunch of shell scripts and rsync will work for a long time until they don't. And when they stop working you'll be in for some pain.
I have a few old boxes that run VMs. Some of these VMs make up a virtual k8s cluster, but almost everything I need runs on bare VMs rather than on k8s.
When I find something particularly annoying to administer, I move it off a bare VM and onto k8s.
The main thing this gives me is a migration path off of "a bunch of custom shell scripts" toward something I believe will be useful in the long run.
A bunch of shell scripts and rsync will work for a long time until they don't. And when they stop working you'll be in for some pain.