Getting Started with Kubernetes
K8s Cluster Architecture

Kubernetes, often abbreviated as K8s, is an open-source platform designed to automate the deployment, scaling, and management of containerized applications. It provides a robust framework for orchestrating containers, such as those created with Docker, across a cluster of machines.
Core Components
A kubernetes cluster consists of a control plane and one or more worker nodes.
Control Plane Components
Manage the overall state of the cluster:
kube-apiserver
The core component server that exposes the Kubernetes HTTP API.
etcd
Stores cluster-wide configuration and state data.
kube-scheduler
Look for Pods not yet bound to a node, and assigns each Pod to a suitable node.
kube-controller-manager
Manage node lifecycle, container replication, and system stability.
cloud-controller-manager
Integrates with underlying cloud providers.
Node Components
Run on every node, mantaining running pods and providing the Kubernetes runtime environment.
kubelet
Manages container lifecycle on a individual node. It receives instructions from the Kube API server to create, update, or delete containers, and regularly reports the node's status.
kube-proxy
Configures networking rules on worker nodes, thus enabling smooth inter-container communication across nodes. For instance, it allows a web server on one node to interact with a database on another.
Container Runtimes
Software responsible for running containers.
Reference: - https://kubernetes.io/docs/concepts/architecture/
Last updated