Skip to main content

How to think of Kubernetes

·1 min

Here are some mental models that I am building while reading The Kubernetes Book:

  • Pods are the smallest building block. They are a collection of containers that are created, destroyed, deployed etc. together.
  • Kubernetes is a generic control plane that allows you to run applications using these pods. For example: how to make sure X pods are running all the time, how to automatically recover from pod failures, how to deploy or rollabck safely, how to route traffic to these pods etc.?
    • On the surface, the idea seems powerful. For e.g., the AWS service that I am currently part of manages its own control plane which takes care of Docker containers for customers. That’s pretty similar to what Kubernetes would have provided us.
    • However, I haven’t operated Kubernetes myself, so my knowledge is theoretical and I don’t know how it works in practice.
  • Kubernetes provides an imperative interface: users define what end state they want and Kubernetes figures out how to get there.