This post is the third video of our five-part video series on “Docker & Kubernetes”.
In this video blog, we are going to cover the Kubernetes architecture, Kubernetes components, Managed Kubernetes Service Also, we are discussing what is Kubernetes master node & worker node and it’s components.
Note: If you have missed my previous post on “Docker Architecture | Docker Engine Components | Container Lifecycle”, to check previous post click here https://k21academy.com/docker13
What Is Kubernetes?
In organizations, multiple numbers of containers running on multiple hosts at a time so it is very hard to manage all the containers together we use Kubernetes. Kubernetes is an open-source platform for managing containerized workloads and services. Kubernetes takes care of scaling and failover for your application running on the container.
Note: know more about the containers(Docker) & Kubernetes
1) In Kubernetes architecture, there is one or more master and multiple nodes. One or masters used to provide high-availability.
2) The master node communicates with nodes using API-server to kublet communication.
3) In the worker node, there are one or more pods and pods contain one or more containers.
4) Containers can be deployed using the image also can be deployed externally by the user.
Kubernetes Master Node vs Worker Node | Kubernetes Master Node
Master Node is a collection of components like Storage, Controller, Scheduler, API-server that makes up the control plan of the Kubernetes. When you interact with Kubernetes by using CLI you are communicating with the cluster’s Kubernetes master. all the processes run on a single node in the cluster, and this node is also referred to as the master. There can be more than one master node in the cluster.
Master Node Components
1) Kube API-server performs all the administrative tasks on the master node. A user sends the rest commands as YAML/JSON format to the API server, then it processes and executes them. The Kube API-server server is the front end of the Kubernetes control plane.
2) etcd is a distributed key-value store that is used to store the cluster state. Kubernetes stores the file in a database called the etcd. Besides storing the cluster state, etcd is also used to store the configuration details such as the subnets and the config maps.
3) Kube-scheduler is used to schedule the work to different worker nodes. it also manages the new requests coming from the API Server and assigns them to healthy nodes.
4) Kube Controller Manager the task of the Controller is to obtain the desired state from the API Server. if the desired state does not meet the current state of the object, then the corrective steps are taken by the control loop to bring the current state the same as the desired state.
There are different type of control manager in Kubernetes such as
- Node Manager, it manages the nodes. it creates new nodes if any node unavailable or destroyed.
- Replication Controller, It manages if the desired number of containers is running in the replication group.
- Endpoints controller, it populates the endpoints object that is, joins Services & Pods.
Kubernetes Master Node vs Worker Node | Kubernetes Worker Node
The worker nodes in a cluster are the machines or physical servers that run your applications. The Kubernetes master controls each node. there are multiple nodes connected to the master node. On the node, there are multiple pods running and there are multiple containers running in pods.
Worker Node Components
1) The kubelet is an agent that runs on each worker node and communicates with the master node. It also makes sure that the containers which are part of the pods are always healthy. It watches for tasks sent from the API Server, executes the task like deploy or destroy the container, and then it reports back to the Master.
2) Kube-proxy is used to communicate between the multiple worker nodes. it maintains network rules on nodes also it makes sure there are necessary rules define on the worker node so the container can communicate to each in different nodes.
3) Kubernetes pod is a group of one or more containers that are deployed together on the same host. Pod is deployed with a shared storage/network, and a specification for how to run the containers. Containers can easily communicate with other containers in the same pod as though they were on the same machine.
4) Container Runtime is the software that is responsible for running containers. Kubernetes supports several container runtimes: Docker, containers.
Managed Kubernetes Service
In Kubernetes, both the master node and worker nodes are managed by the user. But in managed Kubernetes service third-party providers manage Master node & user manages Worker node also manage Kubernetes offers dedicated support, hosting with pre-configured environments. Managed solutions take care of much of this configuration for you.
Managed Kubernetes Service Example:
a) Azure Kubernetes Service (AKS)
Note: know more about Azure Kubernetes Service
b) Oracle Kubernetes Engine (OKE)
Note: know more about Oracle Kubernetes Engine
c) Elastic Kubernetes Service (EKS)
Note: know more about Elastic Kubernetes Service
d) Google Kubernetes Engine (GKE)
Note: know more about Google Kubernetes Engine
- [Part 1] Docker vs Virtual Machine | Physical vs Virtual Servers
- [Part 2] Docker Architecture | Docker Engine Components | Container Lifecycle
- Kubernetes Components Documentation
- Certified Kubernetes Administrator (CKA) Certification Exam: Everything You Must Know
- Certified Kubernetes Administrator (CKA) Certification: Step By Step Activity Guides/Hands-On Lab Exercise
Join FREE Masterclass
To know about what is the Roles and Responsibilities of Kubernetes administrator, why you should learn Docker and Kubernetes, Job opportunities for Kubernetes administrator in the market, and what to study Including Hands-On labs you must perform to clear Certified Kubernetes Administrator (CKA) certification exam by registering for our FREE Masterclass.