Assignment # 1 -
What is Kubernetes?
Kubernetes is the orchestrator for containers. Based on the command received it maintains a the requested number of containers in a cluster and maintains the state of the cluster.
Why Do we need Kubernetes? Explain in 10 lines
I will start with a contrast to virtual machines.
For virtual machines we can manage the following very easily as there are a lot of software options available -
However, it is almost impossible to do so for containers. The only option that is available is Kubernetes. As mentioned earlier, Kubernetes is the orchestrator for containers.
Kubernetes can bring containers up and down and maintain a certain number of them running within a blink of an eye.
It is an open source software that was initially developed by Google and then it was handed over to the open source community which has maintained and added features since then.
It is written in Go/GOLANG.
How Kubernetes Works?
Kubernetes Architecture. Explain each component with 1 one line.
Kubernetes has the below 4 components that run on a VM -
1) API Server
This is a collection of APIs that receives requests and provides response.
2) Controller Manager
This runs in a loop and keeps checking the containers in the cluster
Scheduler schedules the tasks and keeps a state of requested number of containers running
This is the database and is the source of truth for the cluster
5) Kubelet runs on each worker node
6) For the cluster there is a networking component that doesn't use NAT
6) Kubectl is the application that is used on the laptop to provide commands
7) There can be multiple controller planes (first 4 components together) and it is recommended to run at least 3 instance of them