1
1. Provisioning and managing Kubernetes clusters through their lifecycle is difficult and grows in complexity as you scale. Managing Kubernetes upgrades, with API version deprecations or other small behavioral changes causing outages or lost cycles (Take Reddit for example)
2. Maintaining a Kubernetes YAML codebase for application development is error-prone and frequently untestable.
3. Existing tooling is powerful, but lacks enterprise-grade features. Tools do not integrate well with each other and still require manual integration with the rest of the Kubernetes stack.