Les bases de Kubernetes

Les données de SaaS sont plus que des formes et des graphiques sur l'image d'une femme dans la technologie

Kubernetes (également connu sous le nom de K8s) est un système d'orchestration de conteneurs open-source permettant de planifier et d'automatiser le déploiement, la mise à l'échelle et la gestion d'applications conteneurisées. Conçu à l'origine par Google, ce projet est aujourd'hui géré par la Cloud Native Computing Foundation (CNCF).

Selon la CNCF, Kubernetes est une technologie courante pour l'exécution d'applications distribuées dans le cloud, 96 % des organisations l'utilisant ou l'évaluant dans son enquête de 2021. Les organisations avantage d'une évolutivité et d'une disponibilité améliorées grâce à l'autoscaling des ressources, à la portabilité entre les infrastructures hébergées sur site ou sur des clouds privés publics ou hybrides, à la résilience en s'assurant que les clusters fonctionnent toujours, et bien plus encore.

Pour offrir ces avantages, Kubernetes exécute les charges de travail en plaçant les conteneurs dans des pods qui s'exécutent sur les nœuds d'un cluster.

Conteneur 

Un conteneur est un logiciel léger, prêt à l'emploi, qui comprend tout ce qui est nécessaire à l'exécution d'une application : le code et tout le temps d'exécution qu'il requiert, les bibliothèques d'application et de système, et d'autres dépendances de l'application. Les conteneurs sont similaires aux machines virtuelles (VM), à une différence très importante près. Les machines virtuelles virtualisent au niveau du matériel, tandis que les conteneurs virtualisent au niveau du système d'exploitation. C'est ce qui permet aux conteneurs d'être portables d'un nuage à l'autre ainsi que d'une distribution de système d'exploitation à l'autre.

Cosse 

Le(s) conteneur(s) s'exécute(nt) dans un pod, la plus petite unité d'exécution de Kubernetes. Les pods sont éphémères (temporaires) par nature, si un pod (ou le nœud sur lequel il s'exécute) tombe en panne, Kubernetes peut créer automatiquement une nouvelle réplique de ce pod pour poursuivre les opérations.

Nœud/groupe 

Un nœud Kubernetes est la machine physique ou virtuelle d'un cluster (un ensemble de nœuds) qui exécute les charges de travail pour un ou plusieurs conteneurs. Son but est d'exposer les ressources de calcul, de réseau et de stockage.

Chaque nœud Kubernetes comprend un moteur d'exécution de conteneur, a Kubelet et un Kube-Proxy:

  • Un moteur d'exécution de conteneur tel que Docker, rkt et runC gère le cycle de vie des conteneurs, en créant, exécutant et détruisant les conteneurs selon les besoins.
  • Le Kubelet est l'agent Kubernetes qui interagit avec le runtime du conteneur pour effectuer des opérations telles que le démarrage, l'arrêt et la maintenance des conteneurs.
  • Kube-Proxy est un proxy réseau et un équilibre de charge qui orchestre le réseau pour acheminer les demandes vers les pods appropriés.