OpenNebula 6.0 “Mutara” imbriqué dans LXD : application au déploiement d’un cluster MicroK8s 1.21 …
Tags: equinix, docker, kubernetes, opennebula
Published: 2021-04-11 23:25:20

---
title: OpenNebula 6.0 “Mutara” imbriqué dans LXD : application au déploiement d’un cluster MicroK8s 1.21 …
published: true
date: 2021-04-11 23:16:48 UTC
tags: equinix,docker,kubernetes,opennebula
canonical_url: https://deep75.medium.com/opennebula-6-0-mutara-imbriqu%C3%A9-dans-lxd-application-au-d%C3%A9ploiement-dun-cluster-microk8s-1-21-d3f2cdee9e04
---

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

Profitant de la sortie d’OpenNebula 6.0 “Mutara”, dont les principales nouveautés sont détaillées dans cet article :

[OpenNebula 6.0 "Mutara": Expanding Your Multi-Cloud to the Edge - OpenNebula - Open Source Cloud & Edge Computing Platform](https://opennebula.io/opennebula-6-0-mutara-expanding-your-multi-cloud-to-the-edge/)

je lance son déploiement au sein de l’hyperviseur LXD dans des conteneurs LXC …

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

Je pars pour cela d’un serveur Bare Metal chez Equinix Metal :

[Equinix Metal](https://www.equinix.fr/services/edge-services/equinix-metal)

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

J’y installe la dernière version stable de l’hyperviseur LXD avec Snap :

[Install LXD for Linux using the Snap Store | Snapcraft](https://snapcraft.io/lxd)

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

avec génération d’une clé publique :

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

Création de deux profils pour LXD :

- le premier nécessaire à la connexion par clé SSH à ces instances LXC
- le second pour permettre l’utilisation de KVM au sein de ces instances LXC

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

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

Je peux alors créer mes conteneurs LXC avec ces deux profils :

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

Connexion à la première instance LXC pour y installer la partie Front End d’OpenNebula 6.0 avec l’aide de **_minione_**  :

- [OpenNebula/minione](https://github.com/OpenNebula/minione)
- [Try OpenNebula on KVM/LXC/FC - OpenNebula 6.0.0 documentation](https://docs.opennebula.io/6.0/quick_start/deployment_basics/try_opennebula_on_kvm.html)

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

Redirection SSH pour permettre l’accès à la console d’OpenNebula :

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

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

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

Connexion à la seconde instance LXC où je crée un pont réseau qui me servira à la connectivité de mes futures machines virtuelles. Ce dernier s’appuie sur le pont réseau existant à la création de l’hyperviseur LXD :

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

puis installation des paquets nécessaires à l’utilisation de cette instance LXC comme noeud KVM pour le cluster OpenNebula :

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

Je rends le répertoire SSH du compte **_oneadmin_** accessible temporairement pour simplifier la configuration des noeuds KVM OpenNebula :

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

Sur le noeud KVM, je charge les clés SSH depuis le noeud Front End …

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

et je peux vérifier la connexion SSH dans les deux sens entre le noeud KVM et le noeud Front End …

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

Je peux ajouter ce noeud KVM depuis la console d’OpenNebula :

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

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

Je procéde de la même manière pour la seconde instance LXC transformée en noeud KVM pour ce cluster OpenNebula :

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

Je dispose donc de deux noeuds KVM imbriqués dans ces conteneurs LXC :

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

J’ajoute une image Ubuntu 20.04 LTS directement depuis le marketplace :

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

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

disponible dans le datastore :

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

Ajout de ma clé publique par l’entremise de la console :

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

Création d’un réseau pour les futures machines virtuelles s’appuyant sur les ponts réseaux créés précédemment …

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

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

avec ce pool d’adresses IP …

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

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

Il est alors possible de lancer trois machines virtuelles Ubuntu 20.04 LTS depuis la console d’OpenNebula :

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

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

![](https://cdn-images-1.medium.com/max/638/0*Y-at9nIwv9ZKDR21)

Là encore je profite de l’arrivée de Kubernetes 1.21 et de sa déclinaison dans MicroK8s pour former un cluster à partir de ces trois machines virtuelles nouvellement créées …

[Kubernetes 1.21 available from Canonical﻿ | Ubuntu](https://ubuntu.com/blog/kubernetes-1-21-available-from-canonical%ef%bb%bf)

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

Après installation de MicroK8s dans les deux autres machines virtuelles, je joins le tout auprès de la première machine virtuelle pour créer ce cluster Kubernetes 1.21 …

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

Le cluster est opérationnel avec toutes ces machines virtuelles :

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

Ajout de l’extension dans ce cluster pour bénéficier d’un Ingress Controller avec Nginx :

[MicroK8s - Add on: Ingress | MicroK8s](https://microk8s.io/docs/addon-ingress)

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

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

avec le déploiement immédiat du sempiternel démonstrateur FC …

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

Pour faciliter son accès, j’installe un tout petit Reverse Proxy avec Node.js dans le serveur Bare Metal qui supporte ces conteneurs LXC dans lesquels tournent ces machines virtuelles :

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

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

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

le démonstrateur est accessible publiquement …

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

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

Avec cette connsommation au total …

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

> «Mutara» est la première version stable de la nouvelle série OpenNebula 6. Avec ses principaux points forts :

Une architecture cloud distribuée puissante pour OpenNebula, composée de clusters Edge qui peuvent exécuter n’importe quelle charge de travail, à la fois des machines virtuelles et des conteneurs d’applications, sur n’importe quelle ressource nue ou virtualisée, n’importe où, sur un fournisseur de cloud ou sur site (avec l’apparition de FireEdge — pour gérer facilement les fournisseurs de cloud public et de périphérie et le provisionnement transparent des clusters Edge d’OpenNebula).

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

> Cette solution cloud de périphérie hyperconvergée maximise les performances et la disponibilité de la charge de travail, et est fournie avec une architecture de stockage native à 3 niveaux qui simplifie et accélère le déploiement des conteneurs et des services sur les sites périphériques notamment au travers de l’initiative ONEedge.

[Next Generation Edge Cloud Platform](https://oneedge.io/)

De quoi améliorer considérablement l’expérience utilisateur dans l’exécution de flux de travail de conteneurs complexes dans des clusters Kubernetes 1.21 “on the edge” qui apportent dans cette dernière version son lot de nouvelles fonctionnalités …

[Kubernetes 1.21: Power to the Community](https://kubernetes.io/blog/2021/04/08/kubernetes-1-21-release-announcement/)

![](https://cdn-images-1.medium.com/max/250/0*zYA-hn1yYVjJQTqX.png)

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

À suivre !