« Kubernetes - Container orchestration » : différence entre les versions

De Marijan Stajic | Wiki
Aller à la navigation Aller à la recherche
m (Update Components 1/2)
m (Compentes add)
Ligne 21 : Ligne 21 :
*[[Fichier:Kubernetes etcd.png]] '''etcd :''' It's a '''key-value store''' that '''holds all the information''' about the '''Nodes''' and '''Masters''' in the cluster ;
*[[Fichier:Kubernetes etcd.png]] '''etcd :''' It's a '''key-value store''' that '''holds all the information''' about the '''Nodes''' and '''Masters''' in the cluster ;
*[[Fichier:Kubernetes api-server.png]] '''Scheduler :''' It is '''responsible''' for '''distributing''' the '''workload''' and '''containers''' across the multiple '''Nodes''' in the cluster. When a new container is created, it automatically assigns it to a Node.
*[[Fichier:Kubernetes api-server.png]] '''Scheduler :''' It is '''responsible''' for '''distributing''' the '''workload''' and '''containers''' across the multiple '''Nodes''' in the cluster. When a new container is created, it automatically assigns it to a Node.
*[[Fichier:Kubernetes api-server.png]] Controller : It is the '''brain of this orchestration'''. Indeed, it '''notices''' and '''responds''' when '''Nodes''' or '''containers''' '''go down'''. It makes '''decisions''' about when '''new containers''' need to be '''brought up'''.

Version du 29 mai 2024 à 14:46

Introduction

Kubernetes (or K8s) is an open-source system used for container orchestration. Indeed, it complements container applications such as Docker. It permits the consistent deployment and management of containers. Kubernetes was developed by Google and later donated to the Cloud Native Computing Foundation. The first version was released in July 2015.

Architecture

The first thing we find in the architecture of container orchestration is the Node (prevously named Minions). A Node can be a physical or virtual machine where containers are run by Kubernetes.

You should have multiple Nodes to use Kubernetes properly. Indeed, if one Node fails, the others are still available to take over and keep the application running. This setup is called a Cluster.

If a Node in the Cluster fails, a Master Node should be set up to move the workload. The Master Node watches over the Nodes in the Cluster and is responsible for container orchestration.


Kubernetes Architecture.png

Components

Kubernetes is composed of multiple components that are automatically installed when you set up it on your system:

  • Fichier:Kubernetes api-server.png API Server : This acts as the front end for Kubernetes, managing and interacting with Nodes in the cluster ;
  • Fichier:Kubernetes etcd.png etcd : It's a key-value store that holds all the information about the Nodes and Masters in the cluster ;
  • Fichier:Kubernetes api-server.png Scheduler : It is responsible for distributing the workload and containers across the multiple Nodes in the cluster. When a new container is created, it automatically assigns it to a Node.
  • Fichier:Kubernetes api-server.png Controller : It is the brain of this orchestration. Indeed, it notices and responds when Nodes or containers go down. It makes decisions about when new containers need to be brought up.