What is Kubernetes?
Kubernetes deploys and manages application that are packaged and run as a containers and that are built in a ways that allow them to scale, self-heal and be updated in line with the modern cloud-like requirements.
What are the 10 feature which we need at prod level, Kubernetes has it
- manages secrets
- load balancer
- Scale up and down automatically
- Self healable
- Storage orchestration
- rolling updates
- managing containers
- service discovery
- Packaging containers in pods
- Architecture of Kubernetes and few lines for each component K8s cluster contains two types of nodes master and worker nodes. The master node acts as a control plane which has > apiserver : all communications btw all components happen through api server > Cluster Store : contains all the clusters and uses etcd as database > Controller Manager : manages multiple controllers. Monitors cluster components and responds to events > Scheduler : Schedules the workload to worker nodes.
The worker nodes has components which are -
Kubelet : runs on every cluster node. main job is to watch apiserver for new work tasks
Container runtime : the k8s needs it to perform the container related tasks
Kube-proxy : responsible for local cluster networking. Ensures each node has a unique IP.
Pods : The atomic unit of scheduling.
What is POD, write a 10 lines explanation on POD
The atomic unit of scheduling.
Pods is a way to group containers and assign the resources
apps/containers runs inside the pods
you can deploy, terminate and scale the apps
Pods lifecycle : Pending->Running->succeeded/failed
Pods are connected through pod network
Pods can have tight and loose coupling
Pods can be replaced by new pods if they die
Pods can run more than one containers
Each node can have multiple pods