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.

Sandbox to play with k8s

Play with Kubernetes provides you with Linux machines that have k8s preinstalled.

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