Brush up on Kubernetes - Cluster Architecture
Kubernetes Cluster Architecture
We can say there are two kind of ships in the Kubernetes, control ships and cargo ships.
source: Kubernetes Native Development, opensourcerers.org
Environment (Sea)
- Container runtime engine: To host the components as continer, We need a software that can run container.(e.g Docker, Containerd, Roket)
Master nodes (Control ships)
- Etcd: A database that store information about the cluster. (highly available key-value store)
- Scheduler: Identify the right node to place the container. Based on containers resource requirements, worker nodes capacity or any other policies or constraints.
- Controllers: Ensures that the desired number of nodes and containers are running.
- Kube API server: Orchestrating all operations within the cluster. Monitor the states, and make necessary changes.
Worker nodes (Cargo ships)
- Kubelet: Listen for instructions from the API-server and manage containers on the nodes. Also sending report back to API-server about the status.
- Kube-proxy: Helps enabling communication between services within the cluster.
Summary
This is a high level overview of the cluster components. Next time, let’s take a closer look at each component.
Leave a comment