Open-source container orchestration system for automating software deployment, scaling, and management. Originally developed by Google, open-sourced in 2014, maintained by CNCF.
glossary: canary deployment, rolling-updates, load-balancing, fault-tolerance, service discovery, configuration management, self-healing.
Ref: https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
Ref: https://kubernetes.io/docs/concepts/overview/components/
Components:
kubectl - we interact with this in CLI, its a tool
Cluster- collection of a control plane (Master in above image) and one or more worker nodes
Control plane:
Node:
Smallest unit deployable and manageable by k8s. It represents a running process on the cluster.
Pod = container + unique IP + storage volumes
Each worker node can have multiple pods and each pod can have multiple containers. Better to keep single container per pod. Gets it own IP address everytime it goes up.