Here are the main Kubernetes components with brief descriptions:
Control Plane Components:
- kube-apiserver: Frontend for the K8s control plane; exposes the K8s API
- etcd: Consistent and highly-available key-value store for all cluster data
- kube-scheduler: Watches for newly created pods with no assigned node, selects nodes for them
- kube-controller-manager: Runs controller processes (node, replication, endpoints, service account & token controllers)
- cloud-controller-manager: Embeds cloud-specific control logic
Node Components:
- kubelet: Agent that runs on each node; ensures containers are running in a Pod
- kube-proxy: Network proxy that maintains network rules on nodes
- Container runtime: Software responsible for running containers (Docker, containerd, CRI-O)
Add-on Components:
- DNS: Cluster DNS service for service discovery
- Dashboard: Web-based UI for cluster management
- Network plugins: Implement the Container Network Interface (CNI) for pod networking
- Storage plugins: Provide persistent storage solutions