Connexion / Inscription Account
Jump to section

Un pod Kubernetes, qu'est-ce que c'est ?

Copier l'URL

Un pod Kubernetes est un ensemble composé d'un ou plusieurs conteneurs Linux®. Il s'agit de la plus petite unité d'une application Kubernetes. Un pod peut contenir plusieurs conteneurs étroitement couplés (cas d'utilisation avancé) ou un conteneur unique (cas d'utilisation plus courant). Les conteneurs sont regroupés dans des pods Kubernetes afin d'optimiser le partage des ressources, comme expliqué ci-après.

Au sein du système Kubernetes, les conteneurs d'un même pod partagent les mêmes ressources de calcul. Ces ressources de calcul sont regroupées dans Kubernetes pour former des clusters, afin d'obtenir un système plus puissant et distribué de manière intelligente pour l'exécution des applications. Si les éléments de Kubernetes, que ce soit les conteneurs, les pods, les nœuds et les clusters, peuvent être difficiles à appréhender de prime abord, voici des pistes pour vous aider à mesurer les avantages des pods Kubernetes :

Unités matérielles

Nœud : plus petite unité d'un matériel informatique dans Kubernetes, considérée comme une machine individuelle.

Cluster : ensemble de nœuds regroupés pour offrir un partage et un équilibrage intelligents des ressources.

Unités logicielles

Conteneur Linux : ensemble composé d'un ou plusieurs processus, qui inclut tous les fichiers nécessaires à exécuter et permet de les transférer d'une machine à l'autre.

Pod Kubernetes : ensemble composé d'un ou plusieurs conteneurs Linux regroupés pour maximiser les avantages du partage des ressources via la gestion des clusters.

En résumé, le matériel est représenté sous la forme d'un nœud dans Kubernetes. Un certain nombre de ces nœuds sont rassemblés dans des clusters, afin de distribuer la puissance de calcul selon les besoins. Sur ces mêmes clusters sont exécutés des pods, qui veillent à ce que tous les conteneurs étroitement couplés qu'ils contiennent soient exécutés ensemble sur le même cluster.

Du fait de la relation qui lie les pods aux clusters, Kubernetes exécute les pods, et non directement les conteneurs, pour s'assurer que chaque conteneur partage les mêmes ressources et le même réseau local. En regroupant ainsi les conteneurs, ils peuvent communiquer entre eux comme s'ils partageaient le même matériel physique, tout en restant plus ou moins isolés.

Cette organisation des conteneurs en pods constitue la base de l'une des fonctions réputées de Kubernetes : la réplication. Lorsque les conteneurs sont organisés en pods, Kubernetes peut utiliser les contrôleurs de réplication pour mettre à l'échelle une application horizontalement selon les besoins. Cela signifie que si un pod est surchargé, Kubernetes peut le répliquer de manière automatique pour le déployer sur le cluster. En plus d'assurer le bon fonctionnement du système en cas de forte charge, les pods Kubernetes sont souvent répliqués en continu pour le protéger des défaillances.

L'un des principaux avantages du système Kubernetes est de tirer le meilleur parti des éléments réutilisables, comme les pods. Il faut parfois des années d'essais et d'erreurs pour découvrir la meilleure utilisation de Kubernetes dans des environnements de production. Or, la majorité des entreprises ne peuvent pas attendre, car elles doivent déployer rapidement leurs applications cloud-native.

Grâce aux normes ouvertes sur lesquelles repose le système Kubernetes et aux tâtonnements de certains précurseurs, des modèles de réussite (et d'échec) ont pu se dégager. Ces modèles de conceptions reproductibles permettent à de nombreuses entreprises d'accélérer l'adoption précoce de Kubernetes.

Dans le livre numérique Kubernetes Patterns: Reusable Elements for Designing Cloud-Native Applications publié par O'Reilly, les auteurs Bilgin Ibryam et Roland Huß fournissent une présentation détaillée des éléments, modèles, principes et pratiques réutilisables courants pour concevoir et mettre en œuvre des applications cloud-native sur Kubernetes.

Vous ne savez pas encore tout sur Kubernetes…