I have been learning more about Kubernetes recently, and one thing that helped me understand it better is that Kubernetes is not just about running containers.
At first, I was mostly thinking like this:
Application -> Docker image -> Pod -> Deployment
But Kubernetes is more about defining what state you want your system to be in.
For example, we can say:
I want 3 instances of my application
I want this application to be accessible through a service
I want some configs and secrets available to it
I want Kubernetes to restart it if something goes wrong
Kubernetes controllers keep checking the current state and try to make it match the state we defined.
This also makes Kubernetes very extensible.
Using CRDs and operators, we can create our own resources and build higher level abstractions on top of Kubernetes.
For example, instead of developers creating deployments, services, configmaps and other resources separately, we can define something like:
ApplicationRelease:
Discussion
Leave the first comment
Be the first to leave a mark on this discussion.