I’ve worked as a developer on 2 major managed k8s providers. Using k8s is easy but operating it is not. The biggest reason is that every cloud provider is using different underlying technologies to deploy k8s clusters. See for example all the different kinds of ingress controllers.
And it doesn’t help that docs sometimes mention how you do things assuming you’re using Google Cloud, other times with examples for Google, AWS, Azure, or bare metal, other times minikube or some other smaller scale wrapper, and other times it’s not clear what kind of platform the commands should ‘just work’ on as-written.
I had a ‘fun’ time figuring out the basics of things like ingress controllers in a bare metal setup because of this mishmash of docs.