kubernetes also known as K8s is an open-source system for automating the deployment, scaling and management of containerized applications.
"Virtualization makes virtual machines, Docker makes containers, and Kubernetes makes Pods."
Benefit Kubernetes
Deploy applications and also react to changes.
Scale it up and down based on demand.
Heal up when things break down.
Perform upgrades and rollbacks with zero downtime.
Kubernetes Nodes: Kubernetes are made up of two types of nodes [Nodes can be virtual machine or can be a physical machine]
1. Worker Node
2. Master Nodes [Can be called as Control Node/Control Plane/Supervisor Node]
Inside every node:
⧪The basic unit of Kubernetes is POD.
๐ Infromational Note: A pod is the basic execution unit of a Kubernetes application. Each module represents a portion of the workload that runs on your cluster
1. Each pod has its own IP address its an internal IP.
2. A pod can communicate to another pod using their ip .
3. A pods are ephemeral means if a container or app crashes the pod will die a new pod will be created with new ip address.
⧪POD is made up of Containers
๐Informational Note: When we pull the image on the local machine and run it, it will run the application inside the container and create the container environment. if it's running, it's a container.
⧪Containers are made up of Images. [These Images are also called docker images]
⧪A Docker 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.
๐Infromational Note: Public image repo :https://hub.docker.com/
Overview in Diagram:
MASTER AND WORKER NODES DETAIL
Let me share a exploded view
Developer Communication Flow and Interaction with Kubernetes Before going into detail, One should know about kubectl Client.Kubectl Client available both for linux and windows. It allows us to run the kubectl command for execution of different tasks.
These kubectl commands talk with the master node and worker nodes. Best practice is that kubernetes version compatible client version need to be used.
Official Kubectl CheatSheet
Kubernetes Nodes Overview
There are two types of nodes in kubernetes. That can be physcial or virtual
Master Node
Worker Node
Above image shows 1 Master Node and Two Worker Nodes. Each nodes are equiped with neceesary componenet to perfrom respective jobs.
Master Node [Can be called Management Node or Brain Node]
There are 4 processes that run on master node. they control worker node and kubernetes cluster as well.
As shown in above diagram we can see furthr breakdown view as :
1. Apiserver
2. Scheduler
3. Controller
4. Etcd
Explanation:
➤The API Server is essentially the single entry point - through which we can communicate with the cluster. In fact, all worker nodes also communicate with the control plane through the API server.
➤The scheduler watches the API server for newly created pods with no assigned nodes, and assigns them to appropriate healthy nodes.
➤The controller implements all of the background control loops, that monitor the cluster and respond to events – this logic is the heart of Kubernetes and declarative design pattern.
➤The ETCD store all the configuration, and the desired state of the cluster.
Worker Node [All application pod run in this Node]
There are 3 processes that run on worker node
1. Container runtime
2. Kubelet
3. Kubeproxy
Explanation
➤The Kubelet needs a container runtime to perform container-related tasks-–things like pulling images and starting and stopping containers
๐Information Note:
In the early days, Kubernetes had native support for a few container runtimes such as Docker. More recently, it has moved to a plugin model called the Container Runtime Interface (CRI).
➤Kubelet helps in registering the node with the cluster Watch the API server for new work assignments
➤Kubeproxy makes sure each node gets its own unique IP address, and implements local IPTABLES or IPVS rules to handle routing and load-balancing of traffic on the Pod network.
By: Ibrar Aziz (Cloud Enthusiast)
Comments
Post a Comment