Cluster Architecture
Kubernetes Cluster Overview
Kubernetes cluster is a set of node machines for running containerized applications. The architecture consists of master and worker nodes with specific roles in container management.
Cluster Components
graph TD
A[Kubernetes Cluster] --> B[Master Node]
A --> C[Worker Nodes]
B --> D[API Server]
B --> E[Controller Manager]
B --> F[Scheduler]
B --> G[etcd]
C --> H[Kubelet]
C --> I[Container Runtime]
Node Types and Responsibilities
Node Type |
Key Responsibilities |
Master Node |
Manage cluster state, scheduling, scaling |
Worker Node |
Run containerized applications |
Master Node Components
API Server
Central management point for all cluster operations:
## Check API server status
systemctl status kube-apiserver
Controller Manager
Monitors cluster state and maintains desired configuration:
## Verify controller manager
kubectl get componentstatuses
Scheduler
Assigns pods to worker nodes based on resource requirements:
## View scheduler logs
journalctl -u kube-scheduler
Worker Node Components
Kubelet
Manages pod lifecycle on each worker node:
## Check kubelet service
systemctl status kubelet
Container Runtime
Runs and manages containers:
## Verify container runtime
crictl version
Pod Structure
Pods are the smallest deployable units in Kubernetes:
## Create a simple pod
kubectl run nginx --image=nginx
Networking and Communication
Kubernetes uses overlay networks for inter-pod communication, enabling seamless container connectivity across nodes.