Abstract


Benefits

  • Self-healing
  • automatic rollbacks
  • horizontal scaling

Attention

  • Can be complex to maintain
  • Costs associated with running nodes

Managed control planes can help mitigate complexity.

Control Plane


  • Runs on multiple nodes across data center zones for high availability

Key Components

Controller Manager

  • Replication Controller: Maintains the desired number of worker nodes
  • Deployment Controller: Handles rollbacks and updates

Scheduler

  • Schedules pods onto worker nodes, making placement decisions

etcd

  • Distributed key-value store
  • Stores cluster state, available resources, and health information
  • Used by other control plane components

API Server

Worker nodes


  • Run containers, which are encapsulated within pods
  • Pods are the smallest deployable units in Kubernetes
  • Pods provide shared storage and networking for containers

Key Components

Kubelet

  • Communicates with the control plane
  • Ensures the desired state of pods is maintained

Container Runtime

  • Can be Docker or another compatible runtime
  • Runs containers on worker nodes
  • Pulls images, starts/stops containers

Kube-proxy

  • Routes traffic to the correct pods
  • Handles load balancing
  • Cluster networking ensures that pods on different nodes can communicate seamlessly, so traffic can be routed between nodes without issue.

References