π§ Control Plane β The control plane manages the overall state of the Kubernetes cluster. It includes components like kube-apiserver, etcd, kube-scheduler, and kube-controller-manager, which handle tasks such as API management, data storage, scheduling, and running controller processes.
π₯οΈ Worker Nodes β These nodes run the application workloads. Each node hosts components like kubelet, which ensures containers are running, and kube-proxy, which manages network rules for service communication.
π¦ Container Runtime β This is the software responsible for running containers on each node. Kubernetes supports various container runtimes such as containerd and CRI-O.
π Networking β Kubernetes uses kube-proxy to maintain network rules and enable communication between services and pods. Some network plugins can replace kube-proxy with their own implementations.
π Addons β Kubernetes can be extended with addons like DNS for service discovery, a web UI for management, and monitoring tools for resource usage and logging.
Control Plane Components
π₯οΈ kube-apiserver β Acts as the front end for the Kubernetes control plane, handling all REST requests for modifications to the cluster.
π etcd β A consistent and highly-available key-value store used to store all cluster data, ensuring data consistency and availability.
π kube-scheduler β Responsible for assigning newly created pods to nodes based on resource requirements and constraints.
π kube-controller-manager β Runs various controllers that regulate the state of the cluster, such as node and job controllers.
βοΈ cloud-controller-manager β Manages cloud-specific control logic, integrating Kubernetes with cloud provider APIs for tasks like load balancing.
Node Components
π§ kubelet β An agent that ensures containers are running in a pod, maintaining the desired state of the application.
π kube-proxy β Implements part of the Kubernetes Service concept by maintaining network rules for communication between pods.
π οΈ Container Runtime β Manages the execution and lifecycle of containers, supporting various implementations like containerd and CRI-O.
π‘ Networking β Each node requires a network proxy to ensure service API behaviors are available, with some plugins offering their own solutions.
π Monitoring β Nodes can be equipped with monitoring tools to track resource usage and ensure efficient operation.
Kubernetes Addons
π DNS β Provides cluster-wide DNS resolution, essential for service discovery within the cluster.
π₯οΈ Web UI (Dashboard) β A web-based interface for managing and troubleshooting applications and the cluster itself.
π Container Resource Monitoring β Collects and stores metrics about container performance, offering insights into resource usage.
π Cluster-level Logging β Captures and stores logs from containers, aiding in debugging and monitoring.
π§ Flexibility β Kubernetes allows for the deployment of various addons to extend functionality, adapting to different use cases.
Follow me on: LinkedIn | WhatsApp | Medium | Dev.to | Github
Top comments (0)