Defined Kubernetes in Gaurav Arora Words.
What is Kubernetes ?
- Kubernetes is borned by Google
- It is Open Source platform
- It is cncf product
- It overcomes challenges like scalability challenges
- We can run 1000 computers via Kubernetes
- It can help running multiple container with same port.
- It will resolve auto healing in case of any failure
- It solve networking challenge also
- It will help managing multiple docker host
Why Kubernetes ?
- It helps to run multiple docker container
- it worked in desired state
- Speed of deployment is faster and improved
- It recover quickly
- It helps in hiding complexity in Cluster
- it helps in doping backup automatically
- It is Secret and Configuration management
- It is self healing and quickly recover in few seconds
- It apparently enhances productivity
- It lower overhead as everything will be managed by Kubernetes itself.
- It increased portability feature.
- It improved security
- It is immutable means you will not get same pod
How Kubernetes works ?
Kubernetes basically consists of Cluster Store , Scheduler , Controller and apiserver.
Apiserver manages everything front end to the control plane , It exposes Restful API’s and consumes JSON. Can do CRUD operations and updated etcd also.
Cluster Store is persistent storage of K8 and uses etcd for distributed , consistent and watchable . It basically stored everything on Cluster and basically it is the source of truth.
Controller is managing everything as of node controller , endpoints controller and namespace controller.
Scheduler keeps watching apiserver for new Pods . After it , assigns work to nodes , contraints and resources.
What is POD ?
- Pod is atomic Unit of Scheduling
- It is running in worker node
- It may be in single container or multiple container
- It can only be instantiated by Kubelet
- It Got IP addresses from kube-proxy
- it is your unit of scheduling
- If we have 2 Pod in same container , it is known as Loose coupling
- If we have multiple Pod in same container , known as Tight coupling
- POd lifecycle starts from Pending –> Running —> Succedded/ failed
- It totally depend on Container , if it is running it should run otherwise stopped.