kubernetes for beginners

Beginner’s Guide to Kubernetes Architecture

Kubernetes, an open-source platform, specializes in deploying and managing containers efficiently. Its architecture follows a distributed model, with various components working together to seamlessly run containerized applications. Central to Kubernetes is the Control Plane, which oversees the entire cluster and coordinates activities across worker nodes.

This blog will provide an overview of the key components of Kubernetes architecture.

Kubernetes Architecture Overview

Here’s an overview of how Kubernetes components are linked.

Kubernetes Architecture for Beginners
Kubernetes Architecture Overwiew

Control Plane

In Kubernetes, the Control Plane also called Master Node, is the component responsible for managing the cluster. It coordinates and schedules tasks, maintains cluster state, and monitors nodes’ health. The Control Plane encompasses critical components such as the API server, scheduler, and controller manager, ensuring the overall functionality and orchestration of containerized applications within the cluster.

Kubernetes Architecture for Beginners
Control Plane

Control Plane Components

1. kube-api-server

It servers the Kubernetes API, the primary interface to the control plane and the cluster itself. When interacting with your Kubernetes cluster, you will usually do so using the Kubernetes API.

2. etcd

It’s the backend data store for the Kubernetes cluster. It provides high-availability storage for all data relating to the state of the cluster. It acts as both a backend service discovery and a database.

3. kube-scheduler

It handles scheduling, which is the process of selecting an available node in the cluster to run containers. It is worth noting that you can create custom schedulers and run multiple schedulers in a cluster alongside the native scheduler.

4. kube-control-manager

It runs a collection of multiple controller utilities in a single process. Controllers operate in infinite control loops that continuously monitor the actual and desired states of objects. If a disparity exists between the actual and desired states, the system ensures that the Kubernetes resource/object is brought to the desired state.

5. cloud-controller-manager

It provides an interface between Kubernetes and cloud platform API’s. It is only used when using cloud-based
resources alongside Kubernetes.

Nodes

In Kubernetes, Nodes also called Worker Nodes are the machines where the containers managed by the cluster run. A cluster can have any number of nodes. Node components are:

Kubernetes Architecture for Beginners
Node components

Node Components

1. kubelet

It is an agent that runs on each node. It communicates with the control plane and ensures that containers are run on its nodes as instructed by the Control plane.
Kubelet also handles the process of reporting container status and other data about containers back to the control plane.

2. kube-proxy

Is a network proxy. It runs on each node and handles some tasks related to providing networking between containers and services in the cluster.

3. container runtime

The container runtime is not built into Kubernetes. It is a separate piece of software that is responsible for actually running the container on the machine.

Kubernetes supports multiple container runtime implementations. The popular container runtimes are:


Thanks! I hope you found it helpful.