K ubernetes is a software tool which is used to manage, run, monitor the dockerized application, a cluster of nodes. It is a client-server a...
Kubernetes is a software tool which is used to manage, run, monitor the dockerized application, a cluster of nodes.
It is a client-server architecture, open-source orchestration engine developed by Google.
It will check the application stability continuously. If the application went down Kubernetes itself restart the application.
Provide high resilient infrastructure, Zero downtime, scaling, automatic rollback.
The Architecture of Kubernetes:
Architecture is a client-server model.
Kubernetes used two nodes
1. master node
2. worker node
By default Kubernetes uses a single master node, For high availability purposes, we can use more than one master node.
Master node:
The master node is called the controlling node.
It will manage and monitor all worker nodes so-called a controlling node.
Master node components:
1.etcd
2.Api server
3.Controller manager
4.Scheduler
etcd:
It is a distributed key-value database,
We used to store all data which is used in the Kubernetes cluster, for Example (pod count, pod status, metadata, deployment status).
Etcd which access only using API server.
API server:
It is mainly used for the communication of the entire Kubernetes cluster.
It is like the front end for the entire Kubernetes cluster.
Using the API server we can communicate with the Kubernetes cluster.
We can trigger the API server using the number, of clients. We can able to modify the configuration.
Controller manager:
Replication manager:
It will control, manage and monitor the number of pod replicas.
End-point controller:
It will help to create new services and new endpoints.
It will help to detect the configuration changes automatically and create the new desired state.
Scheduler:
It will be used to schedule the podes.
Example: if we want to create new application need memory and space, it will check the worker node for free memory and
free space and schedule the pod in the worker node.
Worker Node:
Kubelet
Kube-proxy
Container run time
Kubelet:
It will monitor the running status of containers running inside the pod.
Using the Pod-spec, monitor the containers inside the pod.
Using the kubelet agent the master node communicates with the worker node
Kube-proxy:
It is like an abstraction layer, it is a logical endpoint.
It will connect the internet and pod application.
Container run time:
Kubernetes supports different container run-time. (ex: docker,containerd)
Kubernetes Hosted providers will manage the master node.
List of a Kubernetes hosted providers
AWS - Elastic Kubernetes Service(EKS)
Azure - Azure Kubernetes Service(AKS)
Google - Google Kubernetes Engine(GKE)
Alibaba Cloud - Container Service for Kubernetes.
DIgital ocean Kubernetes
IBM Kubernetes.
Oracle Container Engine for Kubernetes. ...etc ------------------------------------------!!!Happy Learning With Techiev!!!! ---------------------------------------