Kubernetes is an open-source container orchestration platform that automates deployment, scaling, and management of containerized applications. The main components include:
Master Node Components:
- API Server: Central management component that exposes the Kubernetes API
- etcd: Distributed key-value store that stores cluster state and configuration
- Controller Manager: Runs controllers that regulate cluster state
- Scheduler: Assigns pods to nodes based on resource requirements
Worker Node Components:
- kubelet: Agent that communicates with the API server and manages pods
- kube-proxy: Network proxy that maintains network rules
- Container Runtime: Software that runs containers (Docker, containerd, CRI-O)