Kubernetes cluster architecture components¶
A Kubernetes cluster is typically architected as a set of independent nodes, categorized as either a Master node (control plane) or Worker nodes (compute nodes).^[400-devops-06-kubernetes-k8s-paas-02-k8s.md]
Control Plane Components¶
The control plane is responsible for managing the state of the cluster.^[400-devops-06-kubernetes-k8s-paas-02-k8s.md]
- API Server: The core management component that exposes the Kubernetes API. It is responsible for handling core operations (such as create, read, update, delete) for objects like Pods and Services, and acts as the hub for data exchange between cluster modules.^[400-devops-06-kubernetes-k8s-paas-02-k8s.md]
- Etcd: A consistent, highly-available key-value store used to persist all cluster resource data.^[400-devops-06-kubernetes-k8s-paas-02-k8s.md]
- Controller Manager: Maintains the desired state of the cluster. It handles tasks such as fault detection, automatic scaling, and rolling updates.^[400-devops-06-kubernetes-k8s-paas-02-k8s.md]
- Scheduler: Assigns Pods to specific nodes. It makes scheduling decisions based on resource requirements, hardware constraints, and other predetermined policies.^[400-devops-06-kubernetes-k8s-paas-02-k8s.md]
Node Components¶
Nodes are the physical or virtual machines where containerized applications run.^[400-devops-06-kubernetes-k8s-paas-02-k8s.md]
- Kubelet: The primary agent running on each node. It registers the node with the API server and ensures that the containers described in Pod specs are running and healthy.^[400-devops-06-kubernetes-k8s-paas-02-k8s.md]
- kube-proxy: Manages network rules on nodes. It enables network communication to Pods from network sessions inside or outside the cluster, effectively providing service discovery and load balancing for Services within the cluster.^[400-devops-06-kubernetes-k8s-paas-02-k8s.md]
- Container Runtime: The software responsible for running containers (e.g., Docker).
Networking and Infrastructure¶
- kubectl: The command-line interface for interacting with the Kubernetes API Server.^[400-devops-06-kubernetes-k8s-paas-02-k8s.md]
- CoreDNS (Inferred): While not explicitly detailed in the source text as a component architecture block, standard deployments rely on a DNS service (often deployed as a Service) for service discovery. The source mentions installing
bind9for infrastructure DNS andcluster-dnssettings in kubelet configuration.^[400-devops-06-kubernetes-k8s-paas-02-k8s.md]
Related Concepts¶
- Kubernetes
- Pod
- [[Service]]
- Container
Sources¶
400-devops-06-kubernetes-k8s-paas-02-k8s.md