1)What is kubernetes
Kubernetes is open-source orchestration software for deploying, managing, and scaling containers. The purpose of kubernetes is to host our application in the form of containers in an automated fashion. We can easily deploy as many instances of our appilcation as required and easily enable communication between different services witin our application.
2)Five reasons of using kuberenetes
- Improved scalability and availability
- Multi-cloud flexibility.
- IT cost optimization.
- Faster time to market
- Its open source.
3)Each kubernetes Components
- Kubernetes cluster—-> It consists of a set of nodes, which may be physical or virtual, on cloud that hosts applications in the form of containers.
- API Server —————>API Server here is collection of multiple servers together working on same agenda. Acting as a admin tool for the architecture.
- Worker nodes———>The worker nodes i.e. the worker machines or VMs host and runs the pods of the deployed workload on them.
- etcd———————> It acts as a persistent storage and stores all the cluster level data into it.
- kubelet——————>It is a software agent that runs continuously on every node of the cluster.
- controller-manager—–> It manages all the controller processes such as node controller, endpoint controller, etc.
- Kube Proxy ————–>It is used for networking services and also for maintaining the network rules in a cluster.
- Network Driver ———-> It is used for network driving for using the and running the plugins properly.