Rancher, une interface web pour Kubernetes, mais pas que

La première version de Rancher était plutôt réussie, et j’étais tombé sous le charme de ce petit orchestrateur avec une interface web. Rancher utilisait alors son propre cluster cattle, mais n’avait pas réussi à atteindre son public face à la concurrence de Kubernetes devenu un standard de facto et utilisé par tous les majors du secteurs.

En 2017, Rancher annonce la deuxième version et une petite révolution en abandonnant son orchestrateur maison pour adopter Kubernetes. les équipes de Rancher se concentrent alors sur ce qu’ils font de mieux : l’expérience utilisateur et la gestion multi-clusters.

Grâce à sa simplicité et son installation en une seule ligne de commande, Rancher est très facile à installer et à prendre en main, même pour un néophyte. Pour les entreprises, Rancher répond également à toutes les problématiques liées à la haute-disponibilité et à la gestion multi-clusters.

3 ans plus tard, le pari est largement gagné. Rancher est devenu la solution open-source la plus utilisée pour la gestion de cluster Kubernetes on-premise et présente une alternative sérieuse aux solutions cloud, l’occasion pour nous de revenir sur les fonctionnalités de cette solution.

Gestion de cluster Kubernetes

Ajout d’un cluster

Rancher est principalement connu pour sa méthode simplifiée pour créer un nouveau cluster Kubernetes from scratch, mais il permet également l’importation de clusters déjà existants.

Une fois installé, Rancher propose l’ajout ou la création de plusieurs types de cluster:

  • Importation d’un cluster Kubernetes existant ;
  • Provisionning des machines sur le cloud : Amazon, Azure, Google ;
  • Provisionning des machines on premise ou autres : vSphere, Openstack (Coucou OVHcloud) ;
  • Installation sur un serveur linux à partir d’une simple ligne de commande à copier-coller (à noter que Docker doit être installé).

Il est donc tout à fait possible de demander un cluster Kubernetes managé auprès de son fournisseur cloud habituel, ceux-ci proposant des clusters tout en un prêt à l’emploi

Une fois le cluster mis en place, on peut installer Rancher comme simple interface graphique.

2 distributions Kubernetes

Les équipes Rancher ont travaillé sur la création simple et rapide d’un cluster Kubernetes. Vous ne le savez peut-être pas, mais il existe beaucoup de dstributions Kubernetes différentes, et Rancher en propose à lui tout seul deux :

  • RKE (Rancher Kubernetes Engine), est la distribution Kubernetes standard installée par Rancher, c’est la version la plus aboutit à utiliser en production ;
  • K3s (5 less than k8s), est une distribution light respectant le standard Kubernetes. Elle est très adaptée pour une utilisation sur du petit hardware: IoT, Arm, Raspberry.

Il n’est pas encore possible pour le moment d’installer K3s depuis Rancher, seul RKE est par défaut proposé. Il est toutefois tout à fait possible d’installer un cluster K3s séparément, et ensuite de l’ajouter à Rancher.

Interface Rancher

Même si vous n’utilisez pas Rancher pour mettre en place votre cluster, l’interface graphique de Rancher à elle-seule justifie son installation sur un cluster existant.

La plupart des gens connaissent Kubernetes Dashboard, il s’agit d’un composant à installer au sein du cluster qui propose de voir et gérer son cluster.

Rancher propose à peu de chose près les mêmes fonctionnalités et se distingue particulièrement sur sa gestion des catalogues.

Monitoring et Gestion d’un cluster

Avec Rancher, on peut donc avoir un récapitulatif et un suivi de l’état du cluster.

Rancher permet également une visualisation des objets qui s’exécutent dans votre cluster: Containers, Services, Ingress, etc.

Rancher App Catalog

Pour ceux qui ne connaissent pas, Helm est en quelque sorte un gestionnaire de paquet pour Kubernetes. Les catalogues Helm facilitent le déploiement d’application sous la forme de conteneurs.

La où Helm est un outil à utiliser en ligne de commande, Rancher vient y appliquer une légère surcouche ainsi qu’une interface graphique. 

Une fois l’application sélectionnée, Rancher propose de répondre à à une série de questions qui permet de customiser l’application.

Dans les faits, les questions permettent de remplir les variables nécessaires à Helm pour déployer l’application, ce sont ces questions qui permettent d’installer sur un même cluster plusieurs fois la même application mais avec une configuration différente.

Vous l’aurez compris, la gestion des catalogues est vraiment la fonctionnalité graphique la plus intéressante de Rancher. A elle seule, elle justifie l’installation de rancher sur un cluster existant et permet une excellente alternative à la ligne de commande.

Des outils tout en un

Rancher permet l’installation d’outils supplémentaires en quelques clics en évitant d’avoir à gérer la configuration.

Monitoring avancé

Vous pouvez donc activer le monitoring, ce qui aura pour conséquence d’installer Prometheus et Grafana automatiquement

Vous ne manquerez alors pas de graphique en tout genre à explorer et à analyser.

Istio

Istio est une solution de service Mesh qui permet d’observer et de gérer l’ensemble des communications entre les différents services au sein de votre cluster Kubernetes. Il permet entre autres d’identifier et de résoudre les possibles goulots d’étranglement quand vous avez une application avec de nombreux micro-services.

Logging

Enfin, il est également possible d’installer une solution pour visualiser efficacement les logs.

Conclusion

Pour conclure, si vous ne connaissez pas encore ou très peu Kubernetes, Rancher est probablement l’outil idéal pour franchir le cap. Si vous n’êtes pas très à l’aise avec la ligne de commande, Rancher propose une installation en une seule ligne de code, vous pourrez accéder à l’interface graphique depuis votre navigateur préféré et créer en quelques minutes votre premier cluster Kubernetes.

Grâce à l’interface graphique, vous pourrez déployer vos premiers containers de test et quelques applications standards en quelques clics notamment grâce aux catalogues Helm

Vous pourrez ensuite créer votre propre repository git et développer vos propres charts et aller très vite en production grâce à Rancher.

Une réflexion au sujet de « Rancher, une interface web pour Kubernetes, mais pas que »

  1. Salut Thibaut,

    Super article, merci pour le partage !

    De mon côté je fais un podcast en français sur ces mêmes sujets, et je serais très heureux d’avoir un retour si tu as le temps, notamment sur cet épisode qui parle de Rancher : https://electro-monkeys.fr/?p=204.

    Très bonne continuation !

    Stef

Laisser un commentaire

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