Si vous recherchez une orchestration à l'échelle du conteneur, Kubernetes est vraiment l’outil le plus adapté. D’une part, le système d'orchestration de conteneurs open source de Google a bonne réputation, ensuite, il bénéficie d’un support assidu et enfin, il évolue rapidement. Mais Kubernetes est aussi tentaculaire, complexe, difficile à mettre en œuvre et à configurer. Et ce n’est pas tout : une grande partie du travail revient à l'utilisateur final. Par conséquent, la meilleure approche n'est pas de se mettre en selle et d'essayer de faire cavalier seul, mais de chercher une solution de conteneur complète dans laquelle Kubernetes est un composant supporté et maintenu.

Voici une lite des offres Kubernetes les plus importantes. Ont été sélectionnées des distributions qui intègrent Kubernetes plus des outils de conteneur, un peu à l’image des distributions Linux et de leur environnement utilisateur. Précisons que cette liste n'inclut pas les services cloud dédiés, comme Amazon EKS ou Google Kubernetes Engine, mais se concentre sur les distributions logicielles exécutables sur site ou en mode hébergé dans le cloud.

CoreOS Tectonic/Red Hat CoreOS

CoreOS propose une distribution Linux centrée sur le conteneur, compatible avec Docker, mais avec son propre format d'image, son propre runtime, et la distribution est de niveau entreprise. L’ensemble est à la base de la pile CoreOS Tectonic. Une caractéristique particulière de Container Linux, le système d'exploitation de CoreOS, c’est qu’il se présente sous forme de set de composants conteneurisés. Cela permet d’intégrer les mises à jour automatisées du système d'exploitation en production sans interrompre les applications en cours d'exécution. CoreOS propose également des mises à jour de Kubernetes « en un clic ». CoreOS Tectonic tourne sur Amazon Web Services, Microsoft Azure et en bare metal. Red Hat, qui a récemment acquis CoreOS, prévoit de l'intégrer à Red Hat OpenShift. Container Linux sera rebaptisé Red Hat CoreOS. Cette intégration ne devrait pas être achevée avant 2020, mais Container Linux continuera d'être pris en charge d'ici là. Selon Red Hat, « presque toutes » les fonctionnalités de CoreOS Tectonic seront disponibles après ce regroupement.

Distribution Canonical de Kubernetes

Canonical, l’éditeur d'Ubuntu Linux, propose sa propre distribution Kubernetes. L'un des principaux arguments de vente de la distribution Canonical de Kubernetes repose sur la forte réputation de la distribution Linux Ubuntu, couramment déployée. Canonical affirme que sa pile fonctionne dans n'importe quel déploiement cloud ou sur site, et qu’elle prend en charge les workloads exécutées sur CPU et sur GPU. Les clients payants peuvent faire gérer leur cluster Kubernetes à distance par des ingénieurs Canonical. La distribution Kubernetes de Canonical est également disponible en version réduite, Microk8s. Les développeurs et les novices de Kubernetes peuvent installer des Microk8 sur un ordinateur portable ou une machine de bureau, et les utiliser pour des tests, des expérimentations ou même en production sur un hardware Low-Profile. Canonical et Rancher Labs (voir 2e partie) préparent ensemble une Cloud Native Platform associant la distribution Kubernetes de Canonical à la plate-forme de gestion des conteneurs de Rancher. L'idée est d'utiliser Kubernetes pour gérer les conteneurs fonctionnant dans chaque cluster, et d'utiliser Rancher pour gérer plusieurs clusters Kubernetes. La Cloud Native Platform sera disponible avec Rancher 2.0, actuellement en beta preview.

Docker Community Edition/Docker Enterprise

Docker est presque toujours associé au conteneur. Mais depuis 2014, Docker dispose de son propre système de clustering et d'orchestration, Docker Swarm. Jusqu'à récemment, Docker Swarm et Kubernetes étaient en concurrence, mais en octobre 2017, Docker a annoncé qu'il intègrerait en standard la version non modifiée de Kubernetes avec Docker Community Edition, Docker Enterprise 2.0 et versions ultérieures. Docker Enterprise 3.0 comporte Docker Kubernetes Service, une intégration de Kubernetes qui maintient la cohérence entre les versions Kubernetes en développement et les déploiements en production. En bref, Docker Inc. reconnait que Kubernetes est plus adapté que Swarm pour gérer les gros environnements de conteneurs complexes. Cependant, Docker inclut toujours un mode « swarm », qui permet d’utiliser son système de clustering d'origine pour des tâches plus modestes. Par exemple, pour une application locale, derrière le pare-feu, qui n'est pas appelée à grossir, ou pour la maintenance de clusters existants en mode « swarm » qui n'ont pas besoin d'être transformés.

Heptio Kubernetes Subscription (HKS)

Heptio a été fondée par deux des créateurs de Kubernetes, Craig McLuckie et Joe Beda, pour offrir des services et produits autour de Kubernetes. Leur première offre majeure Heptio Kubernetes Subscription (HKS) concerne un déploiement de Kubernetes avec support payant 24/7 assuré par Heptio. Le prix de l’abonnement démarre à 2 000 dollars par mois. L’argument principal d’Heptio est de dire que Kubernetes offre un niveau de classe entreprise sans lock-in côté vendeur. Les déploiements peuvent s'effectuer sur des clouds publics ou un hardware privé. Tous les outils proposés par Heptio pour gérer les configurations Kubernetes sont open source, et les correctifs sont livrés directement aux clusters supportés. VMware a acquis Heptio en 2018, mais cette acquisition n'a pas encore eu d’impact sur le portefeuille de produits de Heptio.

Kontena Pharos

Pour sa distribution Kubernetes, Kontena Pharos applique à peu près la même stratégie que les offres Linux de Red Hat. Déjà, cette distribution Kubernetes - qui a pour slogan, « Kubernetes that just works » - est certifiée Cloud Native Computing Foundation (CNCF), et elle est disponible sous licence Apache 2 (comme Fedora, ou CentOS). Les utilisateurs qui ont de l'argent à dépenser (comme c’est le cas de Red Hat Enterprise Linux) peuvent acheter des fonctionnalités de niveau professionnel, du conseil, des services de support et accéder à des offres à prix fixe pour passer par exemple d’une infrastructure native au cloud. La distribution Pharos de base est livrée avec des fonctionnalités standard, en particulier, des mises à jour de sécurité automatiques et l'exécution de plusieurs conteneurs. Le produit payant est agrémenté d’outils d'entreprise, notamment le tableau de bord Kontena Lens, le système de stockage distribué Kontena Storage, la sauvegarde, l'équilibrage de charge et la possibilité de déployer le cluster dans un environnement physiquement isolé. Il est possible de tester gratuitement l'édition professionnelle pendant trente jours. Le tarif des abonnements démarre à 375 € par mois. L'édition open source n'est pas limitée dans le temps, et s’utilise sans frais de licence.

Pivotal Container Service (PKS)

Plus connu pour son travail sur Cloud Foundry, Pivotal propose un service de classe entreprise dénommé Pivotal Container Service (PKS), lequel exploite de nombreux projets Pivotal. Par exemple, PKS s’appuie sur le projet Kubo, également utilisé dans Cloud Foundry pour lancer et gérer les clusters Kubernetes. La particularité de PKS est son intégration étroite avec la pile de virtualisation de VMware. Ce qui n’est pas très surprenant, puisque PKS a été élaboré en commun avec VMware. Les conteneurs exécutés sur Pivotal Container Service ont accès à des services qui, normalement, ne sont disponibles que pour les machines virtuelles tournant sur vSphere, comme le stockage permanent dans VMware vSAN. De plus, il est possible de gérer PKS via VMware Cloud Foundation, lequel permet de manager l'infrastructure VMware dans les environnements de cloud public et privé. Sans doute qu’un client ayant déjà recours à des solutions VMware et ayant un intérêt de plus en plus prononcé pour Kubernetes pourra, avec KPS, tirer un meilleur parti de sa configuration VMware existante.

Rancher 2.0

Rancher Labs a intégré Kubernetes à sa plateforme de gestion de conteneurs, et plus exactement, à la version 2.0 de la plateforme simplement dénommée Rancher. Rancher 2.0 fonctionne à un niveau plus élevé que les autres distributions Kubernetes. Comme elle tourne au-dessus des hôtes Linux, des conteneurs Docker et des nœuds Kubernetes, elle les gère tous de manière indépendante, indépendamment de leur localisation ou de leur infrastructure. Elle peut même gérer les clusters Kubernetes sur Amazon EKS, Google Kubernetes Engine, Azure Kubernetes Service, et autres clouds Kubernetes-as-a-service. Rancher est également livré avec sa propre distribution Kubernetes. Enfin, elle prend en charge une grande partie des tâches de mise en œuvre et de personnalisation des clusters Kubernetes pour les adapter à leur environnement spécifique, sans pour autant empêcher les mises à jour en douceur de Kubernetes, un aspect essentiel pour ce projet en évolution rapide et actualisé en permanence. Rancher propose également une distribution a minima de Kubernetes appelée K3s. Optimisée pour les déploiements low-profile, K3s nécessite à peine 512 Mo de RAM par instance de serveur et 200 Mo d'espace disque. Pour cela, K3s se passe de toutes les fonctionnalités héritées, de niveau alpha et non-essentielles, et s’allège de nombreux plug-ins les moins utilisés (même s’il reste possible de les ajouter plus tard si nécessaire).

Red Hat OpenShift

Red Hat OpenShift, le service PaaS de Red Hat, utilisait à l'origine des « cartouches » de type « buildpack » Heroku pour empaqueter les applications avant de les déployer dans des conteneurs appelés « gears ». Puis Docker est arrivé, et OpenShift a été modifié pour utiliser la nouvelle image de conteneur et le runtime standard. Inévitablement, Red Hat a adopté Kubernetes comme technologie d'orchestration d’OpenShift. Le service PaaS de Red Hat a été conçu pour doter tous les composants de capacités d'abstraction et d'automatisation. Cette abstraction et cette automatisation s'étendent également à Kubernetes, qui demande encore un gros travail d’administration, de sorte qu'OpenShift peut être utilisé pour alléger cette tâche dans le cas d’un déploiement PaaS plus large. Comme indiqué plus haut (voir 1e Partie), CoreOS Tectonic sera bientôt fusionné avec Red Hat OpenShift, même si l’intégration des technologies ne devrait pas être achevée avant 2020.

SUSE Container as a Service Platform

Plus connue pour sa distribution Linux, très répandue en Europe, SUSE propose aussi une plate-forme SUSE CaaS Platform. En terme de conception, SUSE CaaS Platform est assez proche de CoreOS Tectonic : elle combine un « micro » système d'exploitation pour exécuter les conteneurs, Kubernetes pour l'orchestration des conteneurs, un registre d'images intégré et des outils de configuration de cluster. Lancée en 2018, SUSE CaaS Platform 3 s’est dotée d’une fonctionnalité multi-maîtres qui renforce la résilience des clusters en cas de plantage d’un nœud maître et d’une fonction de réglage du kernel qui permet d’effectuer des ajustements personnalisés sur le noyau Linux intégré. SUSE CaaS Platform peut tourner aussi bien sur des clouds publics que sur du bare metal local. Cependant, il emportant de se rappeler qu’actuellement « SUSE ne supporte aucune intégration dans l'infrastructure cloud sous-jacente ». En d'autres termes, SUSE CaaS Platform n'est pas destinée à compléter Amazon EKS ou Google Kubernetes Engine, mais plutôt pour les contourner et permettre d'exécuter des conteneurs sur plusieurs clouds et datacenters.

Telekube

Gravitational, fabricant du serveur Teleport SSH, propose également Telekube, une distribution Kubernetes « durcie en production » qui tourne sur des clusters locaux ou distants. Selon Gravitational, Telekube permet de mettre en place une plate-forme SaaS privée ou de faire tourner Kubernetes en tant que service dans plusieurs régions ou chez différents hébergeurs. Dans le cas de Telekube, les applications doivent être préparées pour tourner dans des conteneurs sur Kubernetes. Elles doivent également être regroupées en « Bundles », lesquels sont ensuite publiés dans les clusters Kubernetes pour distribution. Ce regroupement implique un travail supplémentaire en plus de toutes les autres préparations nécessaires au déploiement d'applications conteneurisées. Mais, en contrepartie, ce bundle spécifique sera la seule chose à maintenir dans Telekube. Gravity, autre outil de Gravitational pour Kubernetes, permet de prendre l’instantané d’un cluster Kubernetes complet - avec toutes ses applications et sa configuration - et de déployer le snapshot dans n’importe quel environnement Kubernetes.