Kubernetes Architecture Explained: The core components that run your cluster
You have containerized your application with Docker and you need to run 100 copies across 20 servers, restart the containers when they crash, scale up or increase resources at users spike, plan updates without downtimes, doing that by hand(manually) is chaotic, that’s where kubernetes comes in. Requirements Docker — Minikube uses it to run your cluster. Install from the official docs:…
Kubernetes, also known as k8s, is an open-source software used to manage software application containers anywhere automatically. It handles tasks such as service discovery, load balancing, safe updates (rollouts and rollbacks), self-healing, and secret management. It does this automatically to keep an application online, secure, and up-to-date with minimal manual intervention.
For Kubernetes to function, the cluster is divided into two major parts: the control plane and worker nodes. The control plane manages the overall state of the cluster, making global decisions about the cluster and responding to cluster events. The worker nodes consist of components that run on every node, ensuring every pod runs, providing the Kubernetes runtime environment, and handling the data traffic directed to containers.
A Kubernetes cluster consists of several essential components, which work together to maintain the desired state of the cluster. The control plane components include kube-apiserver, etcd, kube-scheduler, and kube-controller-manager. The worker node components include kubelet, kube-proxy, container runtime, and kube-system pods like coredns.
Using Minikube, a tool that runs a single-node Kubernetes cluster on your machine, allows you to explore and understand these components. After installing the necessary requirements, you can start a cluster using `minikube start`, and then check the nodes with `kubectl get nodes -o wide`. You will see that the node is running in the control plane, and its kubelet is healthy and reporting back to the API server.
To further examine the components, you can look inside the `kube-system` namespace using `kubectl get pods -n kube-system`. This command will show you the core components running as pods inside the cluster. The control plane components (kube-apiserver-minikube, etcd-minikube, kube-scheduler-minikube, and kube-controller-manager-minikube) are responsible for managing the overall state of the cluster, while the worker node networking component (kube-proxy-9zq4m) runs on every node in the cluster.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.