Kubernetes


Kubernetes (également connu sous le nom de k8s ou « kube ») est une plateforme d’orchestration de conteneurs open source qui automatise une grande partie des processus manuels liés au déploiement, à la gestion et à la mise à l’échelle des applications conteneurisées.

En d’autres termes, vous pouvez regrouper des groupes d’hôtes exécutant des conteneurs Linux®, et Kubernetes vous aide à gérer facilement et efficacement ces grappes.

Les clusters Kubernetes peuvent englober des hôtes dans des nuages sur site, publics, privés ou hybrides. C’est pourquoi cette plateforme est idéale pour héberger des applications natives du cloud qui nécessitent une mise à l’échelle rapide, comme le streaming de données en temps réel via Apache Kafka.

Un système open-source créé par Google

À l’origine, Kubernetes a été développé et conçu par des ingénieurs de Google. Le géant du web a été l’un des premiers contributeurs à la technologie des conteneurs Linux et a expliqué publiquement que tout chez Google fonctionne dans des conteneurs. (Il s’agit de la technologie qui sous-tend les services en nuage de Google).

Google génère plus de 2 milliards de déploiements de conteneurs par semaine, tous alimentés par sa plate-forme interne, Borg. Borg était le prédécesseur de Kubernetes, et les leçons tirées du développement de Borg au fil des ans sont devenues la principale influence derrière une grande partie de la technologie k8s.

Fait amusant : les sept rayons du logo de Kubernetes font référence au nom original du projet, « Project Seven of Nine ».

Red Hat a été l’une des premières entreprises à travailler avec Google sur ce système, avant même son lancement, et est devenu le deuxième contributeur principal au projet Kubernetes en amont. D’ailleurs, Google a fait don de ce projet à la toute nouvelle Cloud Native Computing Foundation (CNCF) en 2015.

Pourquoi utiliser cette plateforme ?

Le principal avantage de l’utilisation de Kubernetes dans votre environnement, en particulier si vous optimisez le développement d’applications pour le cloud, est qu’il vous offre une plateforme pour programmer et exécuter des conteneurs sur des clusters de machines physiques ou virtuelles (VM).

Plus généralement, ce système vous aide à mettre en œuvre une infrastructure basée sur des conteneurs dans des environnements de production et à vous y fier. Et comme Kubernetes est axé sur l’automatisation des tâches opérationnelles, vous pouvez faire beaucoup des mêmes choses que d’autres plateformes d’applications ou systèmes de gestion, mais pour vos conteneurs.

Les développeurs peuvent également créer des applications natives en nuage avec Kubernetes comme plateforme d’exécution en utilisant ses modèles. Les patterns sont les outils dont un développeur Kubernetes a besoin pour créer des applications et des services basés sur des conteneurs.
Avec k8s, vous pouvez :

– orchestrer des conteneurs sur plusieurs hôtes ;
– mieux utiliser le matériel pour maximiser les ressources nécessaires à l’exécution de vos applications d’entreprise ;
– contrôler et automatiser les déploiements et les mises à jour d’applications ;
– monter et ajouter du stockage pour exécuter des applications à état ;
– faire évoluer les applications conteneurisées et leurs ressources à la volée ;
– gérer les services de manière déclarative, ce qui garantit que les applications déployées s’exécutent toujours comme vous le souhaitez. Vous contrôlez l’état de santé de vos applications et les réparez automatiquement grâce aux fonctions de placement automatique, de démarrage automatique, de réplication automatique et de mise à l’échelle automatique.

Cependant, Kubernetes s’appuie sur d’autres projets pour fournir pleinement ces services orchestrés. Grâce à l’ajout d’autres projets open source, vous pouvez exploiter pleinement sa puissance.

Aller en haut