Define Kubernetes in Mandip’s Words

What is Kubernetes?

  • 15 Points
    Why Kubernetes?
  • 10 Points
    How Kubernetes works?
  • All components and roles of their components
    What is POD?
  • – 15 Points

What is Kubernetes:

  • Kubernetes is container orchestration tool
  • It do workload(Container) Placement
  • Kubernetes help to manages infrastructure with Infrastructure Abstraction.
  • Kubernetes will help us to get the desired state.
  • It has self healing and help us with automated scaleup and rollbacks.
  • Kubernetes gives us speed of in deployment where a deployment can be done in a matter of seconds.
  • It absorb all the changes very quickly in a cluster whether it is a major or minor upgrade.
  • It will perform the quick rollbacks to recover from any issues.
  • Kubernetes help us to mitigate the challenges brought by containers like scalability and networking.
  • Kubernetes can easily manage and works on the large scale datacenter style setups where it consider the whole datacenter as one setup.
  • Kubernetes can run huge scalable solutions or applications.
  • Kubernetes is written in GO/GOLang and donated to CNCF by google.
  • Kubernetes is group of Master and Worker nodes working in tandem to serve the applications.
  • Kubernetes is used for the microservices based applications.
  • Kubernetes gives us a mindset where the faulty nodes/pods of the application are discarded and new nodes/pods are launched.

Why Kubernetes:

  • Kubernetes applications are highly scalable.
  • Kubernetes provide resilient application stack which always ensures the desired state.
  • In Kubernetes changes in the applications are quickly absorbed across all the instances (Pods/containers) in a cluster.
  • Kubernetes provide seamless experience to the end user where they don’t have to worry about the performance of the application.
  • Kubernetes make life of a DevOps person easy where it ensures that desired state is always met.
  • Kubernetes take out the faulty or erroneous nodes/pods out of load so that DevOps guys don’t have to spend the time to fix the underlying issue.
  • Kubernetes provides the quick recovery from the faulty deployments/changes by doing quick rollbacks.
  • Help to overcome the container shortcomings

How Kubernetes works

  • Kubernetes have High Availability Master nodes and Worker nodes
  • Master nodes contains Api Server (Exposes all the API services for Kubernetes), Cluster Store/etcd( Database containing all the cluster related config and state ), Controller Manager(It will check the state of cluster and it watches for changes) and scheduler ( Assign work to nodes). All the communication within and outside cluster has to be done via API Server.
  • Worker Nodes contains Kubelet(Instantiate Pods, Register node with cluster, watches API Server for work, reports back to master), Container runtime Like Docker(which actually run container) and Kube proxy (It is K8S networking services and is proxy between node network and pod network)

What is POD

  • Atomic unit
  • Instantiate by kubelet.
  • scheduler ask to run container
  • can run multiple container
  • All pods communicate with each other using POD network
  • PODs cannot be created
  • PODs have 3 different state
  • Instantiated where the container is loaded
  • running when container is running
  • failed/completed when the container has completed or failed in it’s task.
  • ephemeral
  • if one container is stopped or exited the POD will also failed/completed even though there are other containers.
  • have same image’s container in different pods as it will create problems related to network, Scalability, resilience.