Get startedGet started for free

Kubernetes Architecture

1. Kubernetes Architecture

Having explored Kubernetes' value, let's dive into the core components of its architecture.

2. Kubernetes Overview

Kubernetes is built from many elements, let's cover the most important ones. The largest entitiy in the Kubernetes world are so-called clusters with their control planes. Clusters are built from Nodes, and Pods run on nodes. We will also cover Services, which are used to establish network connectivity.

3. Kubernetes Cluster and the Control Plane

A Kubernetes Cluster consists of network-connected computers known as nodes. These nodes can range from servers in a data center or virtual machines to simpler devices like laptops or even Raspberry Pi. Each node is equipped with CPUs, memory, local storage, and potentially specialized hardware like GPUs. In the Kubernetes world, we install a so-called "control plane" somewhere in our cluster. We will not get into the details of this control plane here but remember: the control plane manages our nodes; it makes sure that they fulfill the requirements to participate in our cluster Kubernetes Clusters are scalable, ranging from small setups of one to three nodes to extensive networks of hundreds or even thousands of nodes.

4. Kubernetes Nodes

The nodes of our cluster typically run some version of Linux and a container engine. Nodes are also called worker machines; they run the containers you want to schedule. Nodes run the so-called "Kubernetes Kubelet". This agent lets our containers run in so-called "Pods", and we will learn about these next. By the way, we can add or remove nodes from and to your Kubernetes Cluster at any point in time without any downtimes. Cool.

5. Kubernetes Pods

Now, let's talk about Pods. A Pod is the smallest computing unit we can deploy in Kubernetes. A pod is a set of one or more containers, e.g., Docker containers. The containers of a Pod belong together, and for that reason they are always deployed together. They share local storage, and network. Remember: by design, Pods are what we call "ephemeral". That means they live only for a relatively short time, and they can and will be terminated and recreated on other nodes at any point in time. Pods' ephemeral nature, being terminated and recreated frequently, might seem counterintuitive for stability. However, this design grants Kubernetes the flexibility to manage incidents efficiently, enhancing overall application reliability.

6. Kubernetes Services

Lastly, let's talk about Kubernetes Services. A Service is a resource to expose network connectivity. When we want to connect to our Pod or when we want to establish communication between Pods, we need to deploy such a service. The reason for this comes from the ephemeral nature of the Pods: Each Pod has its own unique IP address, which changes any time our Pod gets redeployed. Now, Services are not ephemeral, they offer stable connectivity. In the picture on the left, two services have been deployed. Service number 1 has connected all the gray Pods to it, so whenever you call that service, one of the gray Pods will respond. Service number 2 is connected to the purple pods, so calling that service gives you a response from one of these three pods.

7. Kubernetes Cheat Sheet

Here is just a short cheat sheet for what we have discussed.

8. Let's practice!

Now, that has been quite technical, but I am sure you have mastered these slides. Let's practice what you learned in this video!

Create Your Free Account

or

By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA.