Architecture

Article

2018, Kubernetes devient un standard de fait

Conteneur

Docker a permis de démocratiser la conteneurisation qui est désormais en plein essor. Passée la phase d’expérimentation de Docker sur une seule machine, on se rend vite à l’évidence que, pour exploiter pleinement le potentiel des conteneurs, il faut s’appuyer sur « orchestrateur »…

Orchestrateur

Un orchestrateur permet de gérer un ensemble de serveurs sous la forme d’un cluster avec une administration centralisée. Divers mécanismes, comme l’Overlay Network, permettent d’utiliser le cluster comme si il s’agissait d’une seule et même machine.

Ceci apporte :

  • De la résilience: en cas de défaillance d’un des nœuds du cluster, l’orchestrateur recrée les conteneurs manquant sur les autres nœuds.
  • De la scalabilité: en cas d’approche de la limite maximale de puissance du cluster, il suffit de lui ajouter un nœud.

Docker Swarm

Docker propose son propre orchestrateur nommé  “Swarm”, mais il existe différentes alternatives.

La plus connue est actuellement Kubernetes, créé par Google avant l’arrivée de Swarm. Google aurait même proposé à Docker d’utiliser Kubernetes comme orchestrateur, mais l’histoire en a décidé autrement. Swarm n’aura finalement pas réussi à rattraper Kubernetes en termes d’adhésion de la communauté.

Face à ce constat, Docker a annoncé (en Octobre 2017) qu’il supporterait Kubernetes en 2018.

Kubernetes, le standard, de fait. 

Kubernetes devient donc LE standard, de fait, en 2018 !

Pour favoriser son adoption, Google avait cédé Kubernetes en 2016 à la Cloud Native Computing Foundation.

Voici un résumé des différentes étapes :

  • Google a proposé le premier une offre cloud de Kubernetes sur GCE.
  • Red Hat fut le premier acteur majeur (autre que Google lui-même) à avoir choisi Kubernetes. Sa solution Openshift 3, lancée mi 2015, s’appuie dès lors sur Kubernetes.
  • Microsoft qui proposait, depuis 2015, une offre ACS (Azure Container Service) permettant de choisir son orchestrateur entre Swarm, Mesos et Kubernetes, annonce en Octobre 2017 une offre de Kubernetes managé (en “Preview”) : AKS (Azure Kubernetes Service).
  • Rancher qui proposait, dans sa version 1.x, le choix entre différents orchestrateurs dont Cattle (son implémentation maison), annonce une nouvelle architecture autour de Kubernetes dans sa version 2, attendue pour Avril 2018.
  • AWS qui proposait ECS, son service d’orchestration de conteneurs basé sur un outil maison, intègre mi 2017 la Cloud Native Computing Fondation et annonce “EKS”, une offre de cluster Kubernetes Managé disponible courant 2018.

Kubernetes ? Oui, mais comment ?

Vous pensiez que vous orienter vers Kubernetes, nouveau standard, allait clore le débat ?

Détrompez-vous, cela ne fait que l’ouvrir davantage.

En effet, il existe désormais de nombreuses alternatives pour la mise en œuvre d’un cluster reposant sur Kubernetes.

Offres sur Cloud public

  • GCE (Google) : Production ready !
  • AKS (Azure) : encore en “Preview” (public)
  • EKS (AWS) : encore en “Beta” (fermé)

Offres Onprem / IaaS sur cloud / cloud hybride 

  • Kubernetes “brut” :
    • Offre une très grande souplesse de paramétrage mais nécessite un bon niveau d’expertise pour déployer et administrer son cluster.
    • La grande modularité de Kubernetes repose sur le concept d’addon. La gestion du réseau et des règles de sécurité associées reposent sur des addons à sélectionner à a installer.
    • Offre la possibilité de choisir le moteur de conteneur (Docker ou une autre alternative) du fait de l’utilisation d’une interface (Container Runtime Interface – CRI)
  • OpenShift 3.x :
    • Existe en version communautaire “origin” ou enterprise “OCP”
    • Apporte des fonctionnalités complémentaires venant enrichir Kubernetes
    • Produit mature et stable
  • Docker :
    • Support de Kubernetes dans Docker EE platform 2.0 (béta) puis dans la version communautaire
    • Apporte des fonctionnalités complémentaires venant enrichir Kubernetes
    • Permettra de centraliser la gestion de cluster Swarm et de clusters Kubernetes via Universal Control Plane (Docker EE)
  • Rancher 2.x
    • Actuellement en Preview, béta pour février, GA pour début Avril
    • Apporte des fonctionnalités complémentaires venant enrichir Kubernetes
    • Permet de fédérer le management de clusters Kubernetes créé en dehors de Rancher (dont GCE, AKS et EKS)

Conclusion

Conteneurisation et orchestration deviennent incontournables et finiront par avoir le même taux d’adoption que la virtualisation. Il ne faut pas oublier qu’à son époque la virtualisation avait connu les mêmes réticences, « La virtualisation ? Pourquoi pas… mais pas en PROD ! »

La convergence généralisée d’acteurs majeurs du marché vers Kubernetes laisse à penser qu’il s’agit d’une solution pérenne dans l’écosystème encore très mouvant des conteneurs. Investir dans la mise en place d’une solution reposant sur Kubernetes semble donc un choix stratégique peu risqué.

C’est le moment de se lancer !

 

Nouveau commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Solve : *
9 + 22 =


Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.