Kubernetes architecture
Kubernetes architecture: Kubernetes is mostly used for Orchestration of the container. It is open source. s/w developed by Google -> GO programing language is used to develop K8S
-> It is used to manage containers (create/start/stop/delete/scale-up/scale-down)
-> It provides framework for managing the complex task of deploying, scaling and operating applications in containers.
Advantages:
1) Self healing: If any container gets crashed then it will be replaced with new container.
2) Auto scaling: Based on demand containers count will be increased or decreased.
3) Load balancing: Load will be distrubuted all containers which are up and running.
Control node:
- API Server:
- Scheduler: It will identify the pending requests in ETCD. with the help of kubelet, It will schedule the task.
- Controller manager: It will verify all the task which have been scheduled are working as expected or not
- etcd: etcd is the distributed configuration store for the entire cluster. It holds the state and configuration that every component (via the API server) needs to function.
Worker node:
- Kubelet: It will maintain the information of the worker node
- Kube proxy: Provide network for the cluster communication.
- Docker
- POD: It is a smallest building block in cluster. All the containers will be created in the Pod.
- Container
-> To Deploy our application using K8S we need to communicate with Control node
-> We usually use KUBECTL (CLI) to cpmmunicate with control plane
-> API Server will receive the request given from kubectl and it will store the request with pending status in ETCD
-> ETCD is an internal database of K8s to store the pending request.
-> Scheduler will go to the ETCD and find there are any pending request.
-> Scheduler will identify the worker node, In order to shcedule the pending tasks Scheduler will identify the worker node with the help of Kubelet(It is like a node agent it will maintain the information of the worker node)
-> Kube proxy will be used for the cluser communication
-> Control manager is to make sure that if everything is working as per the expectations or not
-> In K8s architecture, every container will be created within the Pod
-> Docker engine would be present in worker node to run docker container
-> In K8S, Container will be created inside PDO -> It is a smallest building block that we can create in K8s cluster.
-> Generally in K8S, everything is represented as POD only.
Comments
Post a Comment