zenkubernetes
Learning pathLessonsPractice studioGet the pack
Open practice studio ↗
Foundations
What is Kubernetes?
Setting up for k8s development
The Main Pillars of Kubernetes
Workload types
Creating our first cluster
Core Concepts
Deploying applications
Declaring services
Set up external access
ConfigMaps & Secrets
Debugging & Troubleshooting
Liveness & Readiness Probes
Scaling applications
Updating applications
Revision histories and rollbacks
Application projectPRO
Your application deployment projectBuild and containerize your applicationPackage and deploy with HelmVerify your deployment and hand it over
Troubleshooting practicePRO
Lab: the release that never startsLab: healthy Pods, unreachable applicationLab: configuration blocks startupLab: running does not mean readyLab: recover a failed release
Back at workPRO
Your workplace field guide
Lesson 03

The Main Pillars of Kubernetes

~3 min read

When Kubernetes is deployed a cluster is created. This cluster consists of two main components. The control plane and the worker machines called Nodes.

Kubernetes cluster architecture showing the control plane and worker nodes

Source: kubernetes.io/docs/concepts/overview/components

The control plane

The control plane, shown on the left, stores the cluster's desired state and coordinates changes. Its controllers respond when resources differ from that state, such as when a Deployment needs more replicas. The scheduler chooses a node for each new Pod.

In production environments, the control plane usually runs across multiple computers and a cluster usually runs multiple nodes, providing fault-tolerance and high availability.

Nodes

Kubernetes runs your workload by placing containers into Pods and these Pods run on worker node(s). A node may be a virtual or physical machine, depending on the cluster. Each of these nodes is managed by the control plane and contains the services necessary to run Pods.

Each node uses a container runtime and a kubelet agent to run its assigned Pods.

Typically you have several nodes in a cluster; in a learning or resource-limited environment, you might have only one node.

Kubelet

The Kubelet is a part of the Node. It is an agent which runs on every node. It makes sure that Pods on the node have running containers. It monitors the Pods and makes sure they are running according to their PodSpec.

Previous← Setting up for k8s developmentNextWorkload types →