Kubernetes

Kubernetes est une plateforme qui s’occupe de la gestion de services de conteneurisation. Elle s’occupe de la personnalisation et la normalisation de ces services disponible au sein du système. C’est l’orchestrateur connu pour l’organisation des conteneurs, il a été créé par Google qui l’a ensuite donné à la technologie cloud native.

Kubernetes a un certain nombre de fonctionnalités. Il est réputé comme :

  • une plate-forme de conteneur.
  • une plate-forme de micro-services.
  • une plate-forme cloud portable et beaucoup plus.

Fonctionnalités Kubernetes

Service

Un service Kubernetes est une abstraction qui définit un ensemble de pods qui représente une unité de déploiement et une manière d’y accéder (on peut le considérer comme un micro-service). L’ensemble des pods ciblés par un service est généralement déterminé par un selector.

Kubernetes nous offre un mécanisme d’utiliser un nouveau service sans se soucier de modifier le système déjà existant.

À chaque pod on associe un nom de domaine et une adresse IP unique afin de leur approuver une charge de travail équitable.

Service IP Adresses

Le service ip-tables qui s’agit des tables NAT pour choisir une destination d’un pods même si ce dernier se trouve sur un autre noeud afin qu’on puise l’exécute sûr un kube-proxy qu’on peut définir comme un proxy réseau qui s’occupe des réglages réseau permettant la communication entre les éléments d’un cluster en utilisant soit en utilisant ses propres capacités de transmission soit en utilisant la couche de filtrage des paquets du système d’exploitation.

Il nous offre la possibilité de router les paquets d’une manière à associer à chaque hôte le paquet destiné, et tout ça grâce à des adresses IP-virtual unique.

Selector 

Le sélecteur d’étiquette (Selector) il s’agit d’une primitive de regroupement qui offre la possibilité aux utilisateurs de sélectionner différents objets.
Il existe deux types se sélecteur d’Étiennette:


Sélecteurs basés sur l’égalité(Equality-based Selectors) permettent le filtrage des objets via la procédure clé /valeurs.


Sélecteurs basés sur des ensembles (Set-based Selectors): ce dernier permet le filtrage des clés des objets en fonction d’un ensemble de valeurs en peuvent vous donner un exemple d’exécution et l’explique:

apiVersion: v1
kind: Service
metadata:
   name: sp-neo4j-standalone
spec:
   ports:
      - port: 7474
      name: neo4j
   type: NodePort
   selector:
      app: salesplatform ---------> 1
      component: neo4j -----------> 2

https://www.tutorialspoint.com/kubernetes/kubernetes_labels_selectors.htm

Après exécution de ce morceau de code il va nous créer un service sous le nom de sp-néo4j-standalone qui utiliser le port 7474 du type NodePort pour communiquer avec les autres nœuds ceux que ça veut dire un selector dans notre cas il s’appelle salesplatform.

Contrairement aux noms, les étiquettes ne sont pas uniques. En général, nous nous attendons à ce que de nombreux objets portent les mêmes étiquettes.

Via un sélecteur d’étiquettes, le client / utilisateur peut distingue un bloc d’objets. Le sélecteur d’étiquette est la façon de collection de base dans Kubernetes.

L’API prend actuellement en charge deux types de sélecteurs : basés sur l’égalité et basés sur un ensemble. Un sélecteur d’étiquettes peut être composé de plusieurs exigences séparées par des virgules. En cas d’exigences multiples, toutes doivent être satisfaites.

Liaison Conteneur et Noyau

Le conteneur communique d’une façon quotidienne avec le noyau, et il ignora tous les autres dialogués extérieurs avec les autres applications de l’hôte et c’est la raison pour laquelle kubernets a vu le jour.

Kubernets offre le service d’orchestration qui consiste à manier multiples conteneurs même si ils se trouvent sur des machines distinctes.

  • Créer des services applicatifs sur plusieurs conteneurs que ce soit front-end ou back-end.
  • Planifier l’exécution de ces conteneurs dans un cluster.
  • Garantir leur intégrité au fil du temps.
  • Assurer leur monitoring.

Orchestration du Stockage

La conduite de l’enregistrement est une énigme pour la gestion du calcul, mais grâce au service Persistant Volume, les utilisateurs manipuler ces donner d’une façon abstraite sans se soucier des détails de l’implémentation ou l’utilisation.

Un persistent volume claim (PVC) est équivalent à la requête d’un user pour épuiser les ressources en demande multiple mode d’accès , Contrairement au pods qui eux demandait des ressources énormes.

Grâce à Kubernetes, le développer n’a plus à se soucie de la conduite des machines virtuelles.

User et Kubernetes

Le développeur n’a plus besoin de connaître l’endroit d’installation ou les configurations des autres programmes, il a juste à déployer son environnement à vrai dire son conteneur et Kubernetes s’occupe de la manipulation des autres couches.

Architecture Kubernetes

Les architectures Kubernetes dépendaient sur différents aspects déjà existant L’aspect pertinent sur laquelle s’appuie cette architecture c’est le cluster qui s’occupe du regroupement les containers des différentes machines de son environnent.

Un cluster Kubernetes doit avoir essentiellement un système master qui géré toutes les autres machines du cluster soit en leur véhicule cette fonctionnalité soit on exécute le scheduler et le contrecoller manager.

Tout cluster dispose de nœuds Kubernetes qu’on peut considérer soit des appareils physiques ou virtuels.
Quant aux nœuds peuvent exécuter des poids ont géré ces objets.

Un pods représente un unique processus ou application en cours d’exécution qui contient un ou différents containers qui sont regroupés dans le pod pour permettre à l’utilisateur de se focaliser sur une application en particulier.

Le contrôler est une autre façon d’orchestre la manière dont les pods sont déployés soit pour la création ou bien la destruction par contre le service assurer la persistance lors de la destruction de ces derniers et de permettre un accès réseaux.

Le scheduler est un composant essentiel qui permet de dispatcher les work-loads entre les nœuds pour affirmer l’équité des ressources, et assurer le bon déploiement des applications.

Le service Kubernets master : qu’on a déjà décrit à des nœuds esclaves qui hébergeant les hôtes dockers..

C’est le master qui va dire quel nœud va faire tourner un pod non ordonnance en se basant sur la disponibilité des ressources, il gérait aussi l’utilisation des ressources sur chaque nœud afin de s’assurer que la charge de travail n’est pas en excès par rapport aux ressources disponibles, pour cela kubernetes doit connaître les ressources disponibles et celles actuellement assignées sur les serveurs.

Ces informations sont apportées par les Kubelet, c’est un composant exécuté sur les nœuds et qui s’assure que les conteneurs définis on démarre et fonctionne comme prévu.

Si un nœud est HS, c’est ce composant qui va le signaler au master et c’est justement le master qui vérifie les nombres de copies identiques demandées d’un pod qui doivent s’exécuter dans le cluster.

http://cookieconnecte.fr/2018/01/26/kubernetes-pour-les-debutants/

L’intérêt de Kubernetes est de mieux aider les entreprises à se concentrer sur le fonctionnement de leurs applications que par les détailler technique grace a un mécanisme qu’ont appele les contenaires.

Pods

Un Pod comme l’a déjà devint représente un processus(qui représente une unité de déploiement) en cours d’exécution en d’autres termes c’est un objet simple et essentiel dans la plate-forme Kubernets déjà créé ou déployée.

les Poids exécutant plusieurs conteneurs devant travailler ensemble. Un Pod peut encapsuler une application composée de plusieurs conteneurs co-localisés qui sont étroitement liés et qui doivent partager des ressources. Ces conteneurs co-localisés pourraient former une unique unité de service cohésive un conteneur servant des fichiers d’un volume partagés au public, alors qu’un conteneur “sidecar” séparé rafraîchit ou met à jour ces fichiers. Le Pod enveloppe ensemble ces conteneurs et ressources de stockage en une entité maniable de base.

https://kubernetes.io/fr/docs/concepts/workloads/pods/pod-overview/

Contenu d’un POD :

Les Pods

Les poids sont fabriques sous forme de conteneurs affins qu’il maintient les services coopératifs centre poids au sein du même poids on peut les localise ainsi que le programme via le cluster.

Docker vs Kubernetes

Pour les images publiées je me suis inspiré sur ses liens:

https://kubernetes.io/fr/docs/concepts/workloads/pods/pod-overview/

Kubernetes pour les débutants

https://kubernetes.io/fr/docs/concepts/workloads/pods/pod-overview/
http://cookieconnecte.fr/2018/01/26/kubernetes-pour-les-debutants/

Si vous êtes intéressé par la partie pratique et les différentes étapes d’installation de kubernetes je vous invite à consulter ce lien:

https://sysblog.informatique.univ-paris-diderot.fr/?p=1672

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.