Aperçu de Rancher Harvester, une solution open source d’infrastructure hyperconvergente (HCI)…
Tags: kubernetes, virtualization, digitalocean, docker
Published: 2020-11-23 16:32:58

---
title: Aperçu de Rancher Harvester, une solution open source d’infrastructure hyperconvergente (HCI)…
published: true
date: 2020-11-23 16:14:07 UTC
tags: kubernetes,virtualization,digitalocean,docker
canonical_url: https://medium.com/@deep75/aper%C3%A7u-de-rancher-harvester-une-solution-open-source-dinfrastructure-hyperconvergente-hci-cdeb5dfccacd
---
![](https://cdn-images-1.medium.com/max/1024/1*UDTOlNmZUK_FTd0u9HAaFA.jpeg)

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 :

[Deployer KubeVirt en utilisant Hyperconverged Cluster Operator (HCO) et gérer ses VMs dans…](https://deep75.medium.com/deployer-kubevirt-en-utilisant-hyperconverged-cluster-operator-hco-et-g%C3%A9rer-ses-vms-dans-8fcb128be39d)

![](https://cdn-images-1.medium.com/max/831/0*RWEdVc_htjhyO5QH.jpg)

Ici je vais effectuer un rapide aperçu du projet Rancher Harvester qui reprend KubeVirt pour une création simplifiée de machine virtuelle dans un cluster Kubernetes :

[rancher/harvester](https://github.com/rancher/harvester)

On a ici une sorte de successeur à feu RancherVM :

[Introducing RancherVM: Package and Run Virtual Machines as Docker Containers](https://rancher.com/introducing-ranchervm-package-and-run-virtual-machines-as-docker-containers/)

![](https://cdn-images-1.medium.com/max/792/0*t5ngZl3am7Doc853.png)

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

![](https://cdn-images-1.medium.com/max/1024/1*XK46um0e4uKaXySkdgiWfQ.jpeg)

![](https://cdn-images-1.medium.com/max/1024/1*ybidf03w0_PeqbzvDOPN4w.png)

Et je peux installer directement k3s :

![](https://cdn-images-1.medium.com/max/1024/1*D7sTOMbGHC8fXH2eNIRDSA.png)

Le cluster k3s est actif et opérationnel :

![](https://cdn-images-1.medium.com/max/1024/1*ZbzRnn6mwBk1gjVzvxvLsg.jpeg)

![](https://cdn-images-1.medium.com/max/500/0*PtgcxEzil5UAO1VF.jpg)

J’installe Helm 3 ensuite :

![](https://cdn-images-1.medium.com/max/1024/1*JknTrtiIXzIuc3GraLl5Wg.png)

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

![](https://cdn-images-1.medium.com/max/1024/1*heI4ATbYB4oNQz8-9eXK9g.png)

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

![](https://cdn-images-1.medium.com/max/1024/1*Ft0Mswr49X2jJwocXC4DQw.png)

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

- [KubeVirt.io](https://kubevirt.io/)
- [kubevirt/kubevirt](https://github.com/kubevirt/kubevirt)

> 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.

![](https://cdn-images-1.medium.com/max/1024/1*bJ28sUlo8ycDeXkATjXveQ.jpeg)

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

![](https://cdn-images-1.medium.com/max/1024/1*WFLn0P75Gjjhz8lxrV9n6A.png)

![](https://cdn-images-1.medium.com/max/1024/1*Z3SoXyzEjwT1FpnDQ-UAWA.jpeg)

![](https://cdn-images-1.medium.com/max/1024/1*b9hMWVAvQRg3HsVXNVHOXw.jpeg)

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

![](https://cdn-images-1.medium.com/max/1024/1*pH6l4Xi2kDAOnuhqhwJIeA.jpeg)

![](https://cdn-images-1.medium.com/max/1024/1*MXnpRkJWkayyh9SkWqvwXg.jpeg)

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

![](https://cdn-images-1.medium.com/max/1024/1*QCqFOGT3s2Fgv2OSnHYIyg.jpeg)

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

[Ubuntu Cloud Images](https://cloud-images.ubuntu.com/)

![](https://cdn-images-1.medium.com/max/1024/1*aKI90LxiXzpSOgFlxKkBnw.jpeg)

![](https://cdn-images-1.medium.com/max/1024/1*BQjKM02Q8s-IGu5kOYFxHw.jpeg)

![](https://cdn-images-1.medium.com/max/666/0*BUCzNkthd1wmdWRM.jpg)

L’image Ubuntu est chargée :

![](https://cdn-images-1.medium.com/max/1024/1*5iBB_nHokDm_exh_KTgZrw.jpeg)

![](https://cdn-images-1.medium.com/max/1024/1*4HBOvANPFl5FV50FI8T3rQ.jpeg)

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

![](https://cdn-images-1.medium.com/max/1024/1*VUhETeXREJzahwPFAlCrpA.jpeg)

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

![](https://cdn-images-1.medium.com/max/1024/1*rgXtnLay2MVC3kLJiZ59MQ.jpeg)

![](https://cdn-images-1.medium.com/max/1024/1*YnuJjji5gxFz0zdeOdeivg.jpeg)

![](https://cdn-images-1.medium.com/max/1024/1*iOVK3CuOzWgqshwJfXppJA.jpeg)

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

![](https://cdn-images-1.medium.com/max/1024/1*o99y0wbm_Ek0MRuxTdFzPA.jpeg)

Je me connecte via SSH à cette machine virtuelle :

![](https://cdn-images-1.medium.com/max/1024/1*_YsjBs6UkkQck-PdNrCLOA.jpeg)

Et j’y lance le nouveau projet k0s de distribution Kubernetes minimaliste :

- [k0s — Yet Another Kubernetes Distro !!](https://saiyampathak.medium.com/k0s-yet-another-kubernetes-distro-7201ea425165)
- [k0sproject/k0s](https://github.com/k0sproject/k0s)

![](https://cdn-images-1.medium.com/max/1024/0*7qPPrEvVUZHv4chZ.png)

en suivant ce process :

![](https://cdn-images-1.medium.com/max/1024/0*q5GdOBYgm5B48Zyl.gif)

![](https://cdn-images-1.medium.com/max/1024/1*Bz_2YWAAODBjJwRzbAb1GQ.png)

> 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 :

![](https://cdn-images-1.medium.com/max/1024/1*3uOR_u7HlbNkfCxcqIASMQ.png)

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

![](https://cdn-images-1.medium.com/max/1024/1*pMAcGPc_8Wg5TlO1KEppdw.png)

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

![](https://cdn-images-1.medium.com/max/1024/1*MjJMqeB-vMjvRLAhypvj8A.jpeg)

![](https://cdn-images-1.medium.com/max/1024/1*ok5qgrt_gsgmcU4zk77RMg.jpeg)

![](https://cdn-images-1.medium.com/max/1024/1*cQ4t7j4cBld_ha3L6RnUxg.jpeg)

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

![](https://cdn-images-1.medium.com/max/1024/1*mYz1ZA0N29JhjXPlnNiXsg.jpeg)

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

![](https://cdn-images-1.medium.com/max/1024/1*fcGK9WHMvk5hitcAAR2tvQ.jpeg)

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

[@cedx/reverse-proxy](https://www.npmjs.com/package/@cedx/reverse-proxy)

![](https://cdn-images-1.medium.com/max/1024/1*FI1JVlUSvCHSf9MghDabNw.png)

et exposition publique via Cloudflared Argo :

[Quickstart · Cloudflare Argo Tunnel docs](https://developers.cloudflare.com/argo-tunnel/quickstart)

![](https://cdn-images-1.medium.com/max/1024/1*TxevMUlAMeuL_ku26fDRng.jpeg)

![](https://cdn-images-1.medium.com/max/1024/1*agvowqSjuxeSuuHr3nkeRg.jpeg)

![](https://cdn-images-1.medium.com/max/1024/1*7hmQ8CoKjkZFm5oqv_f_MA.jpeg)

![](https://cdn-images-1.medium.com/max/1024/1*zwRLG0WTXrg8cD8xv5NHgA.jpeg)

La visualisation de tous ces composants peut se faire avec Weave Scope :

[Installing Weave Scope](https://www.weave.works/docs/scope/latest/installing/)

![](https://cdn-images-1.medium.com/max/1024/1*MbtytSuNgJx8IPYMs2bZmA.png)

![](https://cdn-images-1.medium.com/max/1024/1*N7ijovHzq537Y9fwjnykjw.jpeg)

![](https://cdn-images-1.medium.com/max/1024/1*mY5W75KiivG8KBZOI9wuIA.jpeg)

![](https://cdn-images-1.medium.com/max/1024/1*rUBHkKCjOadYru-5n8_4iw.jpeg)

![](https://cdn-images-1.medium.com/max/1024/1*O6Reo6OUkkVgv22_ZaFRnw.jpeg)

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

![](https://cdn-images-1.medium.com/max/1024/1*0BS6KMpVjgWyIEAze06wfA.jpeg)

Au même titre que KubeVirt, le projet Rancher Harvester est prometteur même s’il n’est pas encore finalisé. Un moyen de lancer et gérer ses machines virtuelles en mode Cloud Native. Surtout que l’utilisateur pourra installer Rancher Harvester en utilisant une image ISO directement sur les nœuds bare-metal pour former un cluster Rancher Harvester. Ainsi que la jonction avec Rancher Longhorn pour la gestion des volumes des machines virtuelles …

- [Longhorn | Install with Helm](https://longhorn.io/docs/1.0.2/deploy/install/install-with-helm/)
- [Kubernetes and Kubevirt from Baremtal to Private Cloud](https://medium.com/@ahmad.ahmadsayed/kubernetes-and-kubevirt-from-baremtal-to-private-cloud-5e29c0564be7)

![](https://cdn-images-1.medium.com/max/500/0*2al4nulz2nsm9zsi.jpg)

À suivre !