DevOps in K8s — Pod Basics
Note, full “DevOps in K8s” mind map is available at: “DevOps in K8s Mind Map”
Why Pod
In Cloud computing world, if we say that container is the process, then the container image is the installation package, and k8s is the cloud operating system, how about Pod?
In K8s, a pod is the smallest deployable unit that represents a single instance of a running process in the cluster. But have you ever wondered that why do we need Pod? Why not just run containers directly in K8s?
Let’s start with a small observation: Log into a Linux host and run pstree -g
, you should see the following:
As you can see, each process
running on a Linux host is not a stand-alone process, but organized by process groups
. For example, the containerd
process has 8 threads, they all belong to process 3908
group. These threads cooperate with each other to complete the responsibilities of the containerd
program.
Similarly, in k8s, it maps the concept of “process group” to container technology (Pod) and makes it a “first-class citizen” in this cloud computing…