K8s has some cognitive overhead.
For simple deploy a docker client-server with docker-compose is a winner, see misterio[1] which basically leverage docker-compose +ssh
But when you need to guarantee system will auto-restart, and healthchecks and so on, K8s is the de-facto standard.
Helm template language (based on Go) is not ideal, but it difficult to replace K8s nowadays with simpler systems.