Les entreprises et autres parties prenantes utilisent Kubernetes pour créer un environnement de conteneurs pour les applications, ainsi que pour gérer et déployer des systèmes de conteneurs.
Cette technologie, apparue en 2014, permet une conteneurisation gérée, qui peut aider les ingénieurs et les programmeurs à exécuter des applications sans se soucier de l'infrastructure. Kubernetes, comme d'autres systèmes de conteneurs, fonctionne sur le principe de l'abstraction de la charge de travail comme alternative à l'exécution d'applications sur des systèmes matériels moins polyvalents. Cependant, contrairement à de nombreux autres systèmes, Kubernetes offre également des fonctionnalités clés de gestion et de déploiement.
À mesure que la virtualisation devenait plus sophistiquée, les conteneurs sont devenus une alternative à l'approche des machines virtuelles. Les conteneurs gérés par Kubernetes sont différents des machines virtuelles dans le sens où un certain nombre de conteneurs partageront le système d'exploitation de l'hôte, tandis que chaque machine virtuelle possède son propre système d'exploitation cloné à partir de l'hôte.
Essentiellement, la conception des systèmes de conteneurs et de la plate-forme de gestion Kubernetes permet un environnement hautement abstrait et moins de réplication des systèmes d'exploitation dans l'architecture. Cela peut permettre aux équipes de faire évoluer plus facilement les projets et de déployer des applications et peut conduire à une plus grande transparence dans l'évaluation des formats d'application.
Un composant « maître » Kubernetes fonctionne comme un contrôleur principal de l'environnement Kubernetes, de la même manière qu'un centre de virtualisation déploierait des machines virtuelles sur un hôte.
Les entreprises peuvent utiliser Kubernetes pour faciliter la prise en charge polyvalente des applications, ce qui peut réduire les coûts matériels et conduire à une architecture plus efficace. Il s'agit d'un choix parmi plusieurs nouvelles architectures de conteneurs, permettant d'apporter un niveau d'innovation plus élevé à la conception d'un environnement matériel et logiciel.