10 distributions Kubernetes menant la révolution des conteneurs

Kubernetes est devenu le projet vers lequel se tourner si vous avez besoin d'orchestration de conteneurs à grande échelle. Le système d'orchestration de conteneurs open source de Google est bien considéré, bien pris en charge et évolue rapidement.

Kubernetes est également tentaculaire, complexe et difficile à installer et à configurer. Non seulement cela, mais une grande partie du gros du travail est laissée à l'utilisateur final. La meilleure approche, par conséquent, n'est pas de saisir les bits et d'essayer de faire cavalier seul, mais de rechercher une solution de conteneur complète qui inclut Kubernetes en tant que composant pris en charge et maintenu.

J'ai répertorié ici les 9 offres Kubernetes les plus importantes - quel est le montant des distributions qui intègrent Kubernetes plus des outils de conteneur, dans le même sens que divers fournisseurs proposent des distributions du noyau Linux et de son espace utilisateur.

Notez que cette liste n'inclut pas les services cloud dédiés, tels qu'Amazon EKS ou Google Kubernetes Engine, mais se concentre sur les distributions de logiciels qui peuvent être exécutées localement ou en tant qu'option hébergée sur le cloud.

CoreOS Tectonic / Red Hat CoreOS

CoreOS est le fournisseur d'une distribution Linux axée sur les conteneurs, compatible avec Docker mais avec un format d'image et une exécution propres à l'opinion, et une distribution «Kubernetes de niveau entreprise». Ensemble, ils forment la base de la pile CoreOS Tectonic. 

Le système d'exploitation CoreOS, Container Linux, se distingue principalement en étant livré sous la forme d'un ensemble de composants conteneurisés. De cette façon, les mises à jour automatisées du système d'exploitation peuvent être intégrées à la production sans interrompre les applications en cours d'exécution. CoreOS vante également les mises à jour «en un clic» de Kubernetes. CoreOS Tectonic fonctionne sur Amazon Web Services, Microsoft Azure et le bare metal. 

Red Hat a récemment acquis CoreOS, avec l'intention de l'intégrer dans Red Hat OpenShift. Container Linux sera rebaptisé Red Hat CoreOS. Le déménagement ne devrait pas être terminé avant 2020, mais Container Linux continuera à être pris en charge jusque-là. Selon Red Hat, «presque toutes» les fonctionnalités de CoreOS Tectonic seront disponibles après la transition.

Voir la revue de CoreOS Container Linux pour plus de détails.

Vidéo connexe: Qu'est-ce que Kubernetes?

Dans cette vidéo de 90 secondes, découvrez Kubernetes, le système open source d'automatisation des applications conteneurisées, par l'un des inventeurs de la technologie, Joe Beda, fondateur et CTO chez Heptio.

Distribution canonique de Kubernetes

Canonical, créateur d'Ubuntu Linux, fournit sa propre distribution Kubernetes. L'un des principaux arguments de vente de la distribution canonique de Kubernetes est la distribution Ubuntu Linux largement respectée, bien comprise et couramment déployée en dessous. Canonical affirme que sa pile fonctionnera dans n'importe quel déploiement cloud ou sur site, avec une prise en charge incluse pour les charges de travail alimentées par CPU et 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 dans une version miniature, Microk8s. Les développeurs et les nouveaux arrivants de Kubernetes peuvent installer Microk8 sur un ordinateur portable ou un ordinateur de bureau et l'utiliser pour des tests, des expérimentations ou même une utilisation en production sur du matériel discret.

Canonical et Rancher Labs (voir ci-dessous) coproduisent un produit, Cloud Native Platform, qui associe la distribution Kubernetes de Canonical à la plateforme de gestion de conteneurs de Rancher. L'idée est d'utiliser Kubernetes pour gérer les conteneurs exécutés dans chaque cluster et d'utiliser Rancher pour gérer plusieurs clusters Kubernetes. Cloud Native Platform sera disponible avec Rancher 2.0, actuellement disponible en version bêta. 

Docker Community Edition / Docker Enterprise

Pour beaucoup d'entre nous, Docker est des conteneurs. Et depuis 2014, Docker dispose de son propre système de clustering et d'orchestration, Docker Swarm, qui jusqu'à récemment était un concurrent de Kubernetes. Puis, en octobre 2017, Docker a annoncé qu'il ajouterait Kubernetes - dans son état non modifié et vanille - en tant que pack-in standard avec Docker Community Edition et Docker Enterprise 2.0 et les éditions ultérieures.

Docker Enterprise 3.0 ajoute le service Docker Kubernetes, une intégration Kubernetes qui maintient les versions de Kubernetes cohérentes entre les bureaux des développeurs et les déploiements de production. 

En bref, Docker Inc. a lu l'écriture sur le mur d'orchestration des conteneurs et a reconnu que Kubernetes est plus adapté que Swarm pour gérer des environnements de conteneurs volumineux et complexes. Cependant, Docker inclut toujours son système de clustering d'origine, le «mode swarm», pour des tâches plus modestes, par exemple, une application locale derrière le pare-feu qui ne devrait pas grandir beaucoup, ou pour maintenir les clusters en mode essaim n'ont pas besoin d'être réorganisés.

Abonnement Heptio Kubernetes

Deux des créateurs de Kubernetes, Craig McLuckie et Joe Beda, ont fondé Heptio pour offrir des services et des produits autour de Kubernetes. Leur première offre majeure est l'abonnement Heptio Kubernetes (HKS), un déploiement Kubernetes avec support payant 24/7 fourni par Heptio. Le prix commence à 2 000 $ par mois.

Le principal argument avec Heptio est Kubernetes de niveau entreprise sans verrouillage du fournisseur. Les déploiements peuvent s'exécuter sur des clouds publics ou du matériel 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 pris en charge.

VMware a acquis Heptio en 2018, mais cette acquisition n'a pas encore affecté les plans du portefeuille de produits Heptio.

Kontena Pharos

Présenté comme «Kubernetes qui fonctionne juste», Kontena Pharos suit à peu près le même playbook que les offres Linux de Red Hat. Au fond, c'est une distribution Kubernetes certifiée CNCF disponible sous la licence Apache 2 (selon Fedora, ou CentOS). Ceux qui ont l'argent à dépenser (selon Red Hat Enterprise Linux) peuvent acheter des fonctionnalités de niveau professionnel, des services de conseil, de support et certaines offres à prix fixe telles que le passage à une infrastructure cloud native.

La distribution principale de Pharos est livrée en standard avec des fonctionnalités de base telles que les mises à jour de sécurité automatiques et plusieurs environnements d'exécution de conteneurs. Le produit payant ajoute des outils d'entreprise, tels que 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 à vide.

L'édition professionnelle a une période d'évaluation de trente jours, avec des abonnements au support qui commencent à 375 € par mois. L'édition open source n'a pas de limite de temps et pas de frais de licence.

Service de conteneur pivot (PKS)

Pivotal, mieux connu pour son travail sur Cloud Foundry, propose un Kubernetes de niveau entreprise appelé Pivotal Container Service (PKS). PKS s'inspire de nombreux autres projets Pivotal pour son inspiration. Par exemple, il utilise le projet Kubo, qui est également utilisé dans Cloud Foundry de Pivotal, pour lancer et gérer des clusters Kubernetes.

La caractéristique remarquable de PKS est une intégration étroite avec la pile de virtualisation VMware; en fait, PKS est un projet conjoint VMware-Pivotal. Les conteneurs exécutés sur PKS ont accès aux services normalement disponibles uniquement pour les machines virtuelles exécutées sur vSphere, comme le stockage persistant dans VMware VSAN. En outre, PKS peut être géré via VMware Cloud Foundation, utilisé pour gérer l'infrastructure VMware dans les environnements de cloud public et privé.

En bref, toute boutique ayant un investissement dans VMware et un intérêt croissant pour Kubernetes, peut souhaiter se pencher sur PKS pour tirer le meilleur parti de sa configuration VMware existante.

Éleveur 2.0

Rancher Labs a intégré Kubernetes dans sa plate-forme de gestion de conteneurs - appelée simplement Rancher - avec la version 2.0. Rancher 2.0 fonctionne à un niveau plus élevé que les autres distributions Kubernetes, reposant sur vos hôtes Linux, conteneurs Docker et nœuds Kubernetes, les gérant tous à distance, indépendamment de l'emplacement ou de l'infrastructure. Il peut même gérer des clusters Kubernetes sur Amazon EKS, Google Kubernetes Engine, Azure Kubernetes Service et d'autres clouds Kubernetes-as-a-service. 

Rancher propose également sa propre distribution Kubernetes. Rancher est destiné à supprimer une grande partie de la corvée du processus de configuration d'un cluster Kubernetes et de personnalisation de Kubernetes pour un environnement spécifique, sans permettre à ces personnalisations de gêner les mises à niveau fluides vers Kubernetes - un élément clé pour une telle rapidité. projet en mouvement et constamment mis à jour.

Rancher propose également une distribution Kubernetes minimale appelée K3s. Optimisé pour les déploiements à faible encombrement, les K3 ne nécessitent que 512 Mo de RAM par instance de serveur et 200 Mo d'espace disque. Il se faufile dans cette empreinte en omettant toutes les fonctionnalités héritées, de niveau alpha et non essentielles, ainsi que de nombreux plug-ins moins couramment utilisés (bien que ceux-ci puissent être ajoutés si nécessaire).

Red Hat OpenShift

Red Hat OpenShift, le produit PaaS de Red Hat, utilisait à l'origine des «cartouches» de type buildpack Heroku pour empaqueter des applications, qui étaient ensuite déployées dans des conteneurs appelés «engrenages». Ensuite, Docker est arrivé et OpenShift a été retravaillé pour utiliser la nouvelle image de conteneur et la nouvelle norme d'exécution. Inévitablement, Red Hat a également adopté Kubernetes comme technologie d'orchestration dans OpenShift.

OpenShift a été conçu pour fournir abstraction et automatisation pour tous les composants d'un PaaS. Cette abstraction et cette automatisation s'étendent également à Kubernetes, qui impose encore une quantité considérable de charge administrative, de sorte qu'OpenShift peut être utilisé pour atténuer cela dans le cadre de la mission plus large de déploiement d'un PaaS.

Comme indiqué ci-dessus, CoreOS Tectonic est en cours de fusion dans Red Hat OpenShift, bien que la fusion des technologies ne devrait pas être complète avant 2020.

Voir la critique de Red Hat OpenShift 3 pour plus de détails.

Conteneur SUSE en tant que plate-forme de service

Mieux connu pour une distribution Linux très populaire en Europe, SUSE propose également la plateforme SUSE CaaS. Conceptuellement, SUSE CaaS Platform rappelle CoreOS Tectonic, combinant un «micro» OS nu qui exécute des conteneurs, Kubernetes pour l'orchestration de conteneurs, un registre d'images intégré et des outils de configuration de cluster.

SUSE CaaS Platform 3, sorti en 2018, a ajouté une fonctionnalité multi-maître pour rendre les clusters plus résistants à un crash de nœud maître et une fonction de réglage du noyau pour effectuer des ajustements personnalisés sur le noyau Linux inclus.

La plateforme SUSE CaaS peut fonctionner sur des clouds publics ainsi que sur du bare metal local, mais avec l'avertissement que «SUSE ne prend actuellement en charge aucune intégration dans l'infrastructure cloud sous-jacente.» Cela signifie que la plateforme SUSE CaaS n'est pas conçue pour compléter Amazon EKS ou Google Kubernetes Engine, mais pour les contourner, vous permettant d'exécuter des conteneurs sur plusieurs clouds et centres de données. 

Télékube

Gravitational, fabricant du serveur Teleport SSH, produit Gravity, une distribution Kubernetes «durcie en production» qui fonctionne sur des clusters locaux ou distants. Gravity se positionne comme une solution pour une plate-forme SaaS privée ou pour exécuter Kubernetes en tant que service dans plusieurs régions ou fournisseurs d'hébergement.

Les applications sur Gravity doivent être préparées à s'exécuter dans des conteneurs sur Kubernetes. Ils doivent également être regroupés dans des «Bundles» qui sont ensuite publiés sur les clusters Kubernetes pour distribution. Le regroupement nécessite un travail supplémentaire en plus de toutes les autres préparations nécessaires pour déployer des applications basées sur des conteneurs, mais le manifeste Bundle est le seul ajout spécifique à Gravity que vous devez maintenir.

Gravity vous permet également de créer un instantané d'un cluster Kubernetes entier, y compris toutes ses applications et sa configuration, et de déployer l'instantané dans n'importe quel autre environnement Kubernetes.