There is no substitute or wrapper that can take imperative and make it declarative without tons of work. Ansible is imperative where if something goes wrong it is easiest to nuke then try again
I am currently setting up my home server using Ansible and I'd say 50% of my time/energy is trying to make it as idempotent as possible. Things like ok I want my service started but I want to restart it if it changed etc.
Although the main downside with k8s is that I don't think you can do much low level/privileged stuff. Like setting up a VPN for a single container, accessing devices for monitoring etc.
I am currently setting up my home server using Ansible and I'd say 50% of my time/energy is trying to make it as idempotent as possible. Things like ok I want my service started but I want to restart it if it changed etc.
Although the main downside with k8s is that I don't think you can do much low level/privileged stuff. Like setting up a VPN for a single container, accessing devices for monitoring etc.