A Kubernetes cluster is a collection of nodes (Cloud Compute instances) that work together to run and manage containerized applications. It consists of two main components:
- Control Plane (Master Node): Orchestrates the entire cluster by managing its state and lifecycle. It schedules workloads, exposes the Kubernetes API, enforces policies, monitors health, and stores configuration data in etcd. Core components include the API server (handles requests), the scheduler (assigns pods to nodes), the controller manager (maintains desired state), and etcd (persistent cluster data store).
- Worker Nodes: Host the actual containerized applications (pods) and provide compute, memory, and networking resources. Each worker node runs a container runtime (like Docker or containerd) and the kubelet agent to communicate with the control plane.
The cluster provides a unified environment for deploying, scaling, and managing applications, ensuring high availability, load balancing, and efficient resource utilization across all nodes.