OpenNebula 6.0 “Mutara” imbriqué dans LXD : application au déploiement d’un cluster MicroK8s 1.21 …

Karim
7 min readApr 11, 2021

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

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

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

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

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

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

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

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 :

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

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

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

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

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

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

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

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

disponible dans le datastore :

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

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

avec ce pool d’adresses IP …

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

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 …

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 …

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

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

via ce traditionnel manifest YAML …

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 :

le démonstrateur est accessible publiquement …

Avec cette consommation au total …

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

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.

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 …

À suivre !

--

--