Logiciels & CMS

Kubernetes: Tout savoir sur la plateforme qui explose

Kubernetes: Tout savoir sur la plateforme qui explose

Kubernetes est un système open source permettant d’automatiser le déploiement, la montée en charge et la gestion des applications conteneurisées, conçu à l’origine par Google

Kubernetes est une plateforme open source d’orchestration de containers créé par Google. Découvrez son utilité, son fonctionnement, ainsi que ses différences avec Docker.

Les containers sont une méthode de virtualisation de système d’exploitationpermettant de lancer une application et ses dépendances à travers un ensemble de processus isolés du reste du système. Cette méthode permet d’assurer le déploiement rapide et stable des applications dans n’importe quel environnement informatique.

En plein essor depuis plusieurs années, les containers ont modifié la façon dont nous développons, déployons et maintenons des logiciels. De par leur légèreté et leur flexibilité, ils ont permis l’apparition de nouvelles formes d’architectures d’application, consistant à constituer des applications au sein de containers séparés pour ensuite déployer ces containers sur un cluster de machines virtuelles ou physiques. Toutefois, cette nouvelle proche a créé le besoin de nouveaux outils « d’orchestration de containers » pour automatiser le déploiement, le management, le networking, le scaling et la disponibilité des applications basées sur container. Tel est le rôle de Kubernetes.

Kubernetes : qu’est-ce que c’est ?

Kubernetes est un projet Open Source créé par Google en 2015. Il permet d’automatiser le déploiement et la gestion d’applications multi-container à l’échelle. Il s’agit d’un système permettant d’exécuter et de coordonner des applications containerisées sur un cluster de machines. C’est une plateforme conçue pour gérer entièrement le cycle de vie des applications et services containerisés en utilisant des méthodes de prédictibilité, de scalabilité et de haute disponibilité.

Principalement compatible avec Docker, Kubernetes peut fonctionner avec n’importe quel système de container conforme au standard Open Container Initiative en termes de formats d’images et d’environnements d’exécution. De par son caractère open source, Kubernetes peut aussi être utilisé librement par n’importe qui, n’importe où.

Kubernetes : comment ça marche ?

Les architectures Kubernetes reposent sur plusieurs concepts et abstractions : certaines existaient déjà auparavant, d’autres lui sont spécifiques. La principale abstraction sur laquelle repose Kubernetes est le cluster, à savoir le groupe de machines exécutant Kubernetes et les containers qu’il gère.

Un cluster Kubernetes doit avoir un master : le système qui commande et contrôle toutes les autres machines du cluster. Un cluster Kubernetes hautement disponible réplique les fonctions du master sur les différentes machines, mais seul un master à la fois exécute le controller-manager et le scheduler.

Chaque cluster contient des noeuds Kubernetes. Il peut s’agir de machines physiques ou virtuelles. Les noeuds quant à eux exécutent des pods : les objets Kubernetes les plus basiques pouvant être créés ou gérés. Chaque pod représente une seule instance d’une application ou d’un processus en cours d’exécution sur Kubernetes, et se constitue d’un ou plusieurs containers. Tous les containers sont lancés et répliqués en groupe dans le pod. Ainsi, l’utilisateur peut se concentrer sur l’application plutôt que sur les containers.

Le controller est une autre abstraction permettant de gérer la façon dont les pods sont déployés, créés ou détruits. En fonction des différentes applications à gérer, il existe différents pods. Une autre abstraction est le service, qui permet d’assurer la persistance des applications même si les pods sont détruits. Le service décrit la façon dont un groupe de pods peut être accédé via le réseau.

On dénombre d’autres composants clés de Kubernetes. Le scheduler répartit les workloads entre les noeuds pour assurer l’équilibre entre les ressources, et garantir que les déploiements correspondent aux besoins des applications. Le controller manager quant à lui assure que l’état du système (applications, workloads…) correspond à l’état désiré défini dans les paramètres de configuration Etcd.

Kubernetes : à quoi ça sert ?

Le principal intérêt de Kubernetes est de permettre aux entreprises de se focalisersur la façon dont ils veulent que les applications fonctionnent, plutôt que sur des détails spécifiques d’implémentation. Grâce aux abstractions permettant de gérer des groupes de containers, les comportements dont ils ont besoin sont dissociés des composants qui les fournissent.

Kubernetes permet ainsi d’automatiser et de simplifier plusieurs tâches. Tout d’abord, on peut citer le déploiement d’applications multi-container. De nombreuses applications résident dans plusieurs containers (base de données, front end web, serveur de cache…), et les microservices sont également développés sur ce modèle. Généralement, les différents services sont liés par API et des protocoles web.

Cette approche présente des avantages sur le long terme, mais demande beaucoup de travail sur le court terme. Kubernetes permet de réduire les efforts nécessaires. L’utilisateur indique à Kubernetes comment composer une application à partir d’un ensemble de containers, et la plateforme prend en charge le déploiement et assure la synchronisation des composants entre eux.

Cet outil simplifie aussi le scaling d’applications containerisées. En effet, les applications ont besoin d’être mises à l’échelle pour suivre la demande et optimiser l’usage des ressources. Kubernetes permet d’automatiser cette mise à l’échelle. La plateforme permet aussi le déploiement continu de nouvelles versions d’applications, éliminant les temps de maintenance. Ses mécanismes permettent de mettre à jour les images de containers et même de revenir en arrière en cas de problème.

Kubernetes et ses APIs permettent aussi le networking des containers, la découverte de service et le stockage. Enfin, n’étant pas liée à un environnement ou à une technologie cloud spécifique, Kubernetes peut être lancé dans n’importe quel environnement : cloud public, stacks privés, hardware physique ou virtuel… il est même possible de mixer les environnements.

Sources:https://www.lebigdata.fr/kubernetes-definition


Lire la suite...
De nombreux utilisateurs du logiciel TeamViewer victime de piratage

De nombreux utilisateurs ont été victimes de piratages au travers du logiciel TeamViewer. Selon les responsables du logiciel la brèche ne viendrait pas de leur système.


Lire la suite...
Microsoft impose le téléchargement de Windows 10 avec une méthode sournoise

« Mon ordinateur m’a demandé si je voulais passer à Windows 10. J’ai cliqué sur le bouton X pour fermer la fenêtre car je ne voulais pas, et une heure après, Windows 10 est en train de s’installer. »


Lire la suite...
Arrivée de Windows 10 à partir du 29 Juillet

Ça, c’est fait. Microsoft a finalisé le développement de Windows 10, la prochaine grosse mise à jour du système d’exploitation de bureau et de tablettes. Il était temps : cette version est attendue au téléchargement le 29 juillet…


Lire la suite...
Vivaldi, un navigateur web pour les gros utilisateurs d’onglets

Si le marché des navigateurs web est aujourd’hui bien fourni, il faut admettre que les Firefox, Chrome, IE et autres Opera ne sont pas vraiment différents les uns des autres. Et ils pèchent presque tous dès lors que l’on utilise de nombreux onglets et ce de manière intensive. Vivaldi est un tout nouveau navigateur qui fait de la gestion d’onglets sa force.


Lire la suite...
L’algorithme Pigeon (référencement local) a été lancé en France

L’algorithme Pigeon, qui sert à afficher les résultats locaux (géolocalisés) de type ‘restaurant Paris’ ou ‘hôtel Marseille’ sur le moteur Google, vient d’être déployé de façon mondiale après avoir envahi l’espace anglophone depuis 6 mois…


Lire la suite...
Apple présente iOS 9, son futur système d’exploitation mobile

Un assistant Siri plus contextuel, un fil d’info personnalisé, la gestion du multitâche… Disponible gratuitement à l’automne, la nouvelle mouture d’iOS apporte toute une série de nouveautés fonctionnelles.


Lire la suite...
Apple : la mèche a été vendue sur son nouveau service

Apple ouvrira-t-il sa keynote lors du WWDC 2015 qui commence aujourd’hui en annonçant le lancement de son service de streaming ? A en croire les rumeurs et surtout le discours du CEO de Sony, qui aurait vendu la mèche, la réponse est oui !


Lire la suite...