Kubernetes Architecture
2 min readApr 9, 2024
Hello Reader, As you are reading this I can assume that you are well aware of DevOps terminology.
Kubernetes is an open-source container orchestration platform designed to automate the deployment, scaling, and management of containerized applications.
The architecture of Kubernetes is based on a master-slave model.
Master Node:
- API Server: Acts as the front-end for the Kubernetes control plane, it's a primary interacting interface. It exposes the Kubernetes API, which allows users to interact with the cluster.
- Scheduler: Decision-making for deploying pods within the cluster, keeps an eye out for new Pods that haven’t been assigned to a specific worker node yet. It decides which node to run them on, considering factors like available resources and any special requirements.
- Controller Manager: Control and Manage cluster, Ensure the desired state matches the actual state. Runs controller processes that regulate the state of the cluster, such as ReplicaSets, Deployments, and StatefulSets.
- etcd: Storage system — configuration date, state, metadata. A distributed key-value store is used to store cluster state and configuration data. It is the single source of truth for the Kubernetes cluster.
Worker Node:
- Kubelet: An agent that runs on each node in the cluster. It is responsible for ensuring that containers are running in a Pod.
- Container Runtime: Software responsible for running containers, such as Docker, containers, or others
- Kube-proxy: Maintains network rules on nodes. It performs connection forwarding, load balancing, and other networking-related tasks.
- Pods: The smallest deployable units of computing that can be created and managed in Kubernetes. Pods may contain one or more containers.
If there’s a specific topic you’re curious about, feel free to drop a personal note or comment. I’m here to help you explore whatever interests you!