Ludovic Alarcon

Ludovic Alarcon .

Kubernetes and Cloud technologies enthusiast, DevOps believer - Golang and Dotnet Developer

Kubernetes 101 - Architecture

In this Kubernetes 101 series, we will walk through what is Kubernetes and its architecture. The next article will cover the basis of the Kubernetes objects and concepts.

What is Kubernetes ?

Kubernetes, also known as kube or k8s, is portable, extensible, open-source container orchestration tool, initially developed by Google and later donated to CNCF (Cloud Native Computing Foundation). Container orchestration means Kubernetes will manage the lifecycle of the containers based on a desired state.

The name Kubernetes originates from Greek, meaning helmsman or captain.

What is a Container ?

A container is a ready-to-run software that packages up code and all its dependencies so the application runs quickly and reliably regardless of the environment where it runs.
Application are decoupled from the underlying host architecture using containers. Multiple containers can run on the same machine as isolated processes.

Why use Kubernetes ?

Kubernetes improves the applications’s availability with this key features:

Kubernetes Architecture

A Kubernetes cluster consist of a master node and one or more worker node. Node can be physical machine or virtual machine and a cluster can have nodes of mixed type.
The master node holds the control plane who is responsible of managing the worker node and the pods (a set of running containers).

The control plane

The control plane contains several components as describe below

The node components

The node components run on every worker node and are responsible to provide the Kubernetes runtime environment.