Kubernetes Architecture

Kubernetes Components

Master:

Components:

  • API Server
  • Cloud Controller (optional)
  • Controller Manager
  • Etcd
  • Scheduler

Nodes:

Components:

  • Kubelet
  • Kube-proxy

This is where workloads are deployed and run.

Nodes have:

  • Status
  • Heartbeats
  • Node Controller (on control plane)
  • Eviction Limits (?)
  • Node topology
  • Graceful node shutdown

Kubelete and Kube-proxy are the components that interact with k8s API in control plane via HTTPS.

Other components of a Node:

  • Cgroupv2: based on linux cgroups
  • Container Runtime: docker, runc?

Labs

I will be using minikube in all of these study sessions:

➤ minikube start \
   --nodes=3 \
   --driver=virtualbox \
   --feature-gates=JobPodFailurePolicy=true,PodDisruptionConditions=true \
   --insecure-registry "registry.local:5000" \
   --container-runtime=docker