Kubernetes in Vaibhav’s Words !!

What is Kubernetes?
— Launched by Google
— Part of CNCF
— Written in golang
— Kubernetes is a container orchestrator, and helps to manage containerized applications
— Helps in workload placement on different nodes
— Does infrastructure abstraction
— Maintains desired state.

Why Kubernetes?
— speed of deployment
— ability of absorb changes
— ability to recover quickly
— We can deploy a scalable solution using kubernetes
— hide complexity in the cluster

How Kubernetes works?
Components of Kubernetes:

kube-apiserver

— front-end to the control plane.
— expose the Rest API
— uses JSON format

CLuster Store

— Persistent storage cluster state and config
— uses etcd
— Distributed .. consistent .. watchable

kube-controller-manager

Controls different controllers:
— node controller
— endpoint controller
— namespace controller

Watchers the changes
Helps maintain desired state

Kube-scheduler

keep watching api-server
api-server assign work to scheduler.

Assignment of work to worker nodes
— affinity
— constraint
— resources

What is POD?
–- Compute unit
— running in worker node
— pod is instantiated not created by Kubelet
— Atomic unit of scheduling
— Pods cannot be re-deployed
— Contains one or more containers.
— Live till the container is live
— Lifecycle: pending –> running –> Failed / Succeed