L’orchestrateur de conteneurs Kubernetes est devenu une solution courante - beaucoup diraient la solution standard - pour déployer des applications conteneurisées à l'échelle. Et si Kubernetes permet de gérer des déploiements de conteneurs tentaculaires et complexes, d’autres outils peuvent apporter une aide supplémentaire.

Bitnami Cabin : un tableau de bord Kubernetes pour iOS et Android

Toute application ou service web moderne devrait avoir une interface mobile. Cabin permet aux administrateurs Kubernetes de disposer d’un tableau de bord Kubernetes sur smartphone iOS ou Android. Un grand nombre de fonctions du tableau de bord complet de Kubernetes peuvent être lancées à partir de Cabin, y compris les diagrammes Helm, les déploiements de mise à l'échelle, la lecture des logs de Pod (l’environnement d’exécution des conteneurs), et l'accès aux applications Web hébergées par Kubernetes.

Kedge : des définitions de déploiement concises pour Kubernetes

Les utilisateurs reprochent souvent à Kubernetes la complexité et la verbosité de ses fichiers manifestes ou de ses définitions d'applications. Il n'est donc pas étonnant qu’ils se tournent vers des outils de tierce partie pour s’alléger la tâche. Kedge permet une syntaxe plus simple et plus concise. Il suffit de fournir à Kedge une version simplifiée du fichier de définition de Kubernetes pour qu’il en sorte l’équivalent Kubernetes complet. Contrairement à Koki Short (voir ci-après), Kedge n'utilise pas de syntaxe modulaire pour ses fichiers de déclaration. Il réduit simplement les définitions d'application à des raccourcis courants.

Koki Short : des fichiers de manifeste Kubernetes plus faciles à manier

Comme Kedge, le projet Koki Short cherche à améliorer la façon dont fonctionnent les définitions d'applications ou de manifeste dans Kubernetes. Comme Kedge, Short est capable de produire une syntaxe abrégée pour décrire les Pods Kubernetes. Ce fichier de syntaxe abrégée pourra être ensuite traduit en syntaxe complète et inversement. Mais, contrairement à Kedge, Koki Short est aussi modulaire, ce qui signifie que l’on peut réutiliser des éléments de manifeste générés par Short pour d'autres manifestes. C’est-à-dire qu’il est possible de définir succinctement plusieurs pods avec des éléments communs.

Kube-ps1 : une invite de commande Kubernetes intelligente

Non, Kube-ps1 n'est pas un émulateur Sony PlayStation de première génération pour Kubernetes (même si ça serait plutôt sympa). C'est un simple ajout à Bash qui affiche le contexte et l'espace de nommage de Kubernetes dans l'invite. On trouve la même chose dans Kube-shell à plus grande échelle, mais si vous voulez uniquement une invite de commande plus intelligente, alors Kube-ps1 est suffisant.

Kube-prompt : un client Kubernetes interactif

Autre modification minime, mais utile, de la ligne de commande Kubernetes : Kube-prompt. Le projet permet d’ouvrir l’équivalent d’une session de commande interactive avec le client Kubernetes. Kube-prompt évite d'avoir à taper kubectl pour préfixer chaque commande, et ajoute automatiquement des informations contextuelles pour chaque commande.

Kube-shell : un shell pour la ligne de commande de Kubernetes

La ligne de commande Kubernetes est puissante, mais comme toute application en ligne de commande, le choix des options est parfois fastidieux. Kube-shell enveloppe la ligne de commande standard de Kubernetes dans un shell intégré permettant la saisie automatique et il peut suggérer des commandes communes, y compris celles envoyées par le serveur Kubernetes (pour les noms de services par exemple). Kube-shell comporte également une solide fonction d'historique des commandes, un mode d'édition vi-style et peut fournir des informations contextuelles pour l'utilisateur, l'espace de nommage, le cluster et d'autres détails relatifs à l'installation.

Kubernetes Ingress Controller pour AWS

Kubernetes utilise le service Ingress pour délivrer des services externes d'équilibrage de charge et de réseau à un cluster. Amazon Web Services offre des fonctions d'équilibrage de charge, mais n’associe pas automatiquement ces services avec les installations de Kubernetes. Kubernetes Ingress Controller pour AWS comble cette lacune. Le contrôleur d'entrée Ingress Controller gère automatiquement les ressources AWS pour chaque objet d’entrée d’un cluster, en créant des équilibreurs de charge pour les nouvelles ressources d'entrée et en supprimant les équilibreurs de charge pour les objets supprimés. Il s’appuie sur AWS CloudFormation pour garantir à tout moment l’état du cluster. Il gère aussi automatiquement d'autres éléments utilisés dans le cluster comme les certificats SSL et les groupes de mise à l'échelle automatique EC2 Auto Scaling Groups.

Kube-ops-view : un tableau de bord pour plusieurs clusters Kubernetes

Kubernetes dispose d'un tableau de bord pour le monitoring général, mais la communauté Kubernetes recherche d'autres solutions pour présenter les données à l'administrateur Kubernetes. Kube-ops-view est l’un de ces projets. Ce tableau de bord permet d’avoir une vue d'ensemble sur plusieurs clusters Kubernetes et de voir en même temps sous forme de graphique l’état d’usage du CPU, de la mémoire et des pods dans un cluster. Cependant, l’outil ne permet pas d’exécuter des commandes et sert strictement à la visualisation. Mais les informations visuelles sont efficaces et sont faites pour être bien lisibles sur l’écran mural d’un centre d'opérations.

Stern : du « log-tailing » pour Kubernetes

Stern permet de produire des sorties codées en couleur (conformément à la commande tail) à partir des pods et des conteneurs Kubernetes. Il permet de rassembler rapidement toutes les données de ces ressources en un flux unique et de lire les résultats d’un seul coup d'œil. Le codage couleur facilite la distinction entre les flux.

Teresa : Un PaaS simple sur Kubernetes

Teresa est un système de déploiement d'applications qui fonctionne comme un simple PaaS sur Kubernetes. Les utilisateurs, organisés en équipes, peuvent déployer et gérer les applications qui leur appartiennent. Il est donc un peu plus facile pour les personnes qui font confiance à une application donnée de travailler avec elle directement, sans avoir à passer par des fonctions de gestion de Kubernetes.