Kubernetes Introduction
Kubernetes (K8s) is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications.
Why Kubernetes?
Without Kubernetes: With Kubernetes:
βββββββββββββββββββββββ βββββββββββββββββββββββββββ
β Manual scaling β β Auto-scaling β
β Manual healing β β Self-healing β
β Manual rollouts β β Rolling updates β
β No service discoveryβ β Built-in DNS β
β Load balancing β β Built-in load balancingβ
βββββββββββββββββββββββ βββββββββββββββββββββββββββ
Kubernetes Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββ
β Control Plane β
β βββββββββββββ ββββββββββββ ββββββββββββββββ β
β β API Serverβ βScheduler β β Controller β β
β β β β β β Manager β β
β βββββββββββββ ββββββββββββ ββββββββββββββββ β
β βββββββββββββ βββββββββββββββββββββββββββββββββ
β β etcd β β Cloud Controller Manager ββ
β β (state) β β ββ
β βββββββββββββ βββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββ
β
ββββββ΄βββββ
βΌ βΌ
βββββββββββββββββββββββ βββββββββββββββββββββββ
β Worker Node 1 β β Worker Node 2 β
β ββββββββββββββββ β β ββββββββββββββββ β
β β kubelet β β β β kubelet β β
β ββββββββββββββββ€ β β ββββββββββββββββ€ β
β β kube-proxy β β β β kube-proxy β β
β ββββββββββββββββ€ β β ββββββββββββββββ€ β
β β ββββββββββββ β β β β ββββββββββββ β β
β β βPod ββPod β β β β β βPod ββPod β β β
β β ββββββββββββ β β β β ββββββββββββ β β
β ββββββββββββββββ β β ββββββββββββββββ β
βββββββββββββββββββββββ βββββββββββββββββββββββ
Core Concepts
- Cluster β A set of nodes (machines) running Kubernetes
- Node β A single machine (physical or virtual) in the cluster
- Pod β Smallest deployable unit; one or more containers
- Service β Stable network endpoint for accessing pods
- Deployment β Manages replica sets and rolling updates