Kubernetes Cluster Components
Luke Hebert
- 2 minutes read - 284 wordsA Kubernetes cluster is made up of several key components, each with a specific role in managing workloads and maintaining cluster health. The components are divided into two main areas: the control plane, which makes global decisions and manages cluster state, and the worker nodes, which run the actual workloads. Understanding how each piece fits together is essential for operating and troubleshooting a Kubernetes environment.
Control Plane
- Cloud Controller Manager: Connects a Kubernetes cluster to a cloud provider’s API, managing cloud-specific resources and ensuring proper integration with the underlying infrastructure.
- etcd: A key-value store that saves all data about the state of the cluster; only the kube-apiserver can communicate directly with etcd.
- kube-apiserver: A key component of Kubernetes that exposes the Kubernetes API, handles most requests, and manages interactions with the cluster by processing and validating API requests, making it essential for the cluster’s operation.
- kube-controller-manager: Monitors the Kubernetes cluster’s state, running processes to ensure the current state matches the desired state.
- kube-scheduler: Identifies a newly created pod that has not been assigned a worker node and assigns it to a specific node.
Worker Nodes
- Container Runtime: Pulls container images, creates and manages containers, and ensures they run properly and securely as directed by the Kubernetes control plane.
- kube-proxy: A network proxy that runs on each node in a Kubernetes cluster, maintaining network rules and enabling communication between pods and services within the node and the control plane, while also communicating directly with the kube-apiserver.
- kubelet: An agent that runs on each node in a Kubernetes cluster, ensuring containers in a pod are running and healthy while communicating with the API server in the control plane to maintain the desired state of the node.