Sunday, July 24, 2022

Kubernetes world



I am learning about containers,  kubernetes, and cloud...

Microservices definition says it's a design approach to break up a monolith application into small independent components. 

containers : 

"A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. "

"A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings."

"Containers are an abstraction at the app layer that packages code and dependencies together."  

"Virtual machines (VMs) are an abstraction of physical hardware turning one server into many servers."


Kubernetes is an open source technology to manage and orchestrate containers at enterprise scale.  



Container management is the process of organizing, adding, removing, or updating a significant number of containers 

For Kubernetes to run containers, it needs a container runtime, like Docker or containerd. The container runtime is the object that's responsible for managing containers

Architecture :

Cluster is a set of computers that you configure to work together and view as a single system. 

The cluster uses centralized software that's responsible for scheduling and controlling these tasks.

For example the cluster software may also respond to to changes in compute resource needs.

Kubernetes abstracts away complex container management tasks, and provides you with declarative configuration to orchestrate containers in different computing environments.


The computers in a cluster that run the tasks are called nodes.

"A node is the smallest unit of computing hardware in Kubernetes." [link]

The control planes  are the computers that run the scheduling software.

Kubernetes cluster contains at least one main plane and one or more nodes. Both the control planes and node instances can be physical devices, virtual machines, or instances in the cloud. The default host OS in Kubernetes is Linux, with default support for Linux-based workloads.

At least 1 master node and couple worker nodes (referred to just nodes)

A node in Kubernetes cluster is where compute workloads run. Each node communicates with control plane via the API serve Tom inform it about state changes in node.


 each node has kublet process running on it 

Kublet is a Kubernetes process that makes it possible for a cluster to communicate to each other and execute tasks on each nodes 

You package the container into a Kubernetes object called a pod. 

A pod is the smallest object that you can create in Kubernetes.



"Although working with individual nodes can be useful, it’s not the Kubernetes way. In general, you should think about the cluster as a whole, instead of worrying about the state of individual nodes" [link]

Resources