Imagine this. You have just crossed the hurdle of deploying your app onto Kubernetes successfully. You build a docker image, push the image to docker hub, do the security scanning, run through several unit tests, and finally hit deploy. Before you catch your breath, your ops team notifies a bug, or Kubernetes pod running but not ready or an error with the cluster.
So you thought deployment to K8s is the complicated part, here comes troubleshooting to prove you wrong.
As most of us know, deployment failure messages on Kubernetes are complex and not intuitive for debugging. Users need to identify the errors from pod logs, pod events(describe pod), pod status, etc. Developers spend a lot of time and effort demystifying the cryptic messages K8s throws up, perfectly valuable time that could have otherwise gone in building core functionalities of the application.
Does this sound familiar? We hear you!
K8s is complex. This makes application deployment to K8s challenging, time-consuming, tedious and error-prone. But it doesn’t have to be that way.
We relate to this pain point because of our first hand experiences deploying to K8s, and we thought to ourselves what if there was an abstraction layer on top of K8s that can simplify deployment in an application-centric way. This abstraction could bring higher-level objects & actions that are intuitively understood by developers & devops professionals alike making deployments, maintenance & troubleshooting a breeze!