Aperçu de Rancher Harvester, une solution open source d’infrastructure hyperconvergente (HCI) basée sur Kubernetes …

Karim
8 min readNov 23, 2020

Dans un précédent article, j’avais parlé de la manière d’utiliser KubeVirt avec Hyperconverged Cluster Operator (HCO) pour créer ses machines virtuelles et les visualiser avec la console OKD :

Dans une définition parmis d’autres, l’hyperconvergence est une infrastructure software-defined, qui dissocie les opérations d’infrastructure du matériel système et les fait converger au niveau de l’hyperviseur dans un bloc de construction unique (d’où le terme hyperconvergence). Les systèmes hyperconvergents utilisent l’intelligence software-defined pour décomposer les silos de stockage et de calcul, qui peuvent être ensuite exécutés et gérés sur la même plate-forme de serveur, éliminant ainsi les inefficacités et accélérant les calculs.

Ici je vais effectuer un rapide aperçu du projet Rancher Harvester (encore en développement) qui reprend KubeVirt pour une création simplifiée de machine virtuelle dans un cluster Kubernetes et dans une logique d’hyperconvergence en mode open source :

On a ici une sorte de successeur de feu “RancherVM” :

Pour cela je pars d’une instance dans DigitalOcean autorisant la virtualisation imbriquée :

Et je peux installer directement k3s :

Le cluster k3s est actif et opérationnel :

J’installe Helm 3 ensuite :

Je clone le dépôt Git du projet Rancher Harvester et je déploie Rancher Harvester via Helm sur le cluster k3s :

Je possède ces classes de stockage dans le cluster k3s :

Rancher Harvester peut être installé sur un cluster Kubernetes de la manière suivante :

- via Helm.

- ou par le catalogue d’application de Rancher. Vous pouvez ajouter ce repo au catalogue en tant qu’application Helm v3.

On peut voir une fois le déploiement terminé les composants de KubeVirt déployé dans le cluster k3s …

Pour rappel, KubeVirt est un projet open source qui permet aux machines virtuelles d’être déployées, consommées et gérées par Kubernetes comme des containers. Le fait de disposer d’un plan de déploiement et de gestion unique pour les containers et les machines virtuelles permet d’obtenir une plate-forme unifiée pour les applications natives du cloud, quelles que soient les exigences.

Je peux alors me connecter au dashboard de Rancher Harvester avec le fichier Kubeconfig :

Je peux y visualiser les caractéristiques du noeud unique que j’utilise ici pour le cluster :

Je vais charger une image d’Ubuntu 20.10 via le dépôt Ubuntu Cloud Images sur le web :

Cette image sera chargée sur le cluster MinIO crée au moment du déploiement de Rancher Harvester sur le cluster k3s :

L’image Ubuntu est chargée :

Je peux charger ma clé SSH publique pour me connecter aux futures machines virtuelles :

Je lance une première machine virtuelle via le dashboard :

Un terminal en mode web permet d’accéder à la console de la machine virtuelle :

Je me connecte via SSH à cette machine virtuelle :

en suivant ce process :

k0s est une distribution Kubernetes tout compris, avec tous les éléments nécessaires préconfigurés pour faire de la construction d’un cluster Kubernetes une simple question de copie d’un exécutable sur chaque hôte et de son exécution.

Je récupère le fichier Kubeconfig et je peux interagir avec ce cluster Kubernetes :

En créant un token pour pouvoir joindre des noeuds Worker :

Création de deux autres machines virtuelles avec le dashboard de Rancher Harvester :

Jonction de ces nouveaux noeuds en tant que Workers dans le cluster Kubernetes avec k0s :

Le cluster Kubernetes imbriqué dans le cluster k3s avec ces machines virtuelles est actif :

Lancement comme les fois précédentes du sempiternel démonstrateur FC dans le cluster avec Reverse-Proxy.js :

Avec une instance à 8 Go de mémoire vive et tous ces composants en exécution, je suis à la limite :

Au même titre que KubeVirt, le projet Rancher Harvester est prometteur même s’il n’est pas encore finalisé. Un moyen simple de lancer et gérer ses machines virtuelles en mode Cloud Native. Surtout que l’utilisateur pourra installer et former un cluster avec Rancher Harvester en utilisant une image ISO directement sur les nœuds bare metal. Ainsi que l’éventuelle jonction avec la solution Longhorn (couvrant le stockage persistant des applications conteneurisées et hébergée par la CNCF) pour la gestion des volumes liés aux machines virtuelles dans Kubernetes …

À suivre !

--

--