Automation QA Testing Course Content

What is Kubernetes

 What is Kubernetes?

    Ans)Kubernetes is a software orchestration platform to manage the lifecycle of containerized applications. It is a very well-designed distributed computing platform.

Kubernetes Architecture.

K8s has two components:

1)Master 2)worker/Node

Kubernetes Master : K8s Master also called control plane. one master can talk to multiple worker nodes. The master/Control plane is responsible for overall coordination & management of the K8S cluster.

The control panel is connected to the data plane and data plane runs on the fleet of virtual machines/physical machines. so when you actually run the software, you submit it to the Kubernetes master which is the control plane and the control plane decides where to place your container in one of the nodes and then your software is packaged as container images, that is stored in registry and based on the definition that is submitted to Kubernetes Master, one of the nodes will pull the image, then it will start running it.

K8S Master has multiple components:

1)API Server

2)Scheduler

3)Controller Manager

4)etcd

API Server: It is a central component, which talks to a lot of components within the K8S Master and it also talks to the components on the worker node. It is responsible for managing the state of the cluster including Deployments, managing applications

The control plane exposes the API server, through which you will interact with the entire platform.

Scheduler: whose job is to take the definition of your workload depending upon CPU memory and storage requirements, figure out which node is ideal to run that container, and place it in that specific node.

schedule the pods/deployments/workloads in the worker nodes.

The instruction should come from the API Server then only the Scheduler will schedule the pods/deployments/workloads.

Controller: Manages the life cycle of your workload, for example at any given point of time I want 3 replicas of my container to run, it does not matter which node, and where it runs. 

etcd: It is a kind of database for Kubernetes which is in the form of key & value. etcd stores the data of Kubernetes like pod configuration, Deployments, and Secrets.

Worker Node components:

1)Kubelet

2)Kube-proxy

3)Container Runtime

Container Runtime: Its container run time environment on the worker node, where you can run the pods.

Kube-proxy: will maintain network-related communications like IP Addresses, DNS etc...

Kubelet: Kublet talks to the Master node of API Server to get the pod list that needs to run on the node and runs the pod.

POD: is a collection of one more containers.