“While this can be a useful perspective, I think it’s much more productive to think of Kubernetes as a general-purpose cluster operating system kernel.”
Kubernetes is hard because it is an operating system for a whole cluster, not a deploy tool. That framing explains the complexity. It also explains why most teams should not run it. You would not write your own kernel to host a web app with three containers.