OpenNebula 5.12 avec Firecracker : gérer les charges de travail avec des microVMs dans les clouds privés ou hybrides …

Image for post
Image for post

Firecracker est une technologie de virtualisation open source spécialement conçue pour créer et gérer des conteneurs sécurisés et multi-tenants ainsi que des services basés sur des fonctions qui fournissent des modèles opérationnels en mode serverless.

Firecracker exécute des charges de travail dans des machines virtuelles légères, appelées microVM, qui combinent les propriétés de sécurité et d’isolement fournies par la technologie de virtualisation matérielle avec la vitesse et la flexibilité des conteneurs.

Le composant principal de Firecracker est un moniteur de machine virtuelle (VMM) qui utilise l’hyperviseur KVM pour créer et exécuter des microVMs. Firecracker a un design minimaliste. Il exclut les périphériques inutiles et les fonctionnalités destinées aux invités pour réduire l’empreinte mémoire et la surface d’attaque de chaque microVM. Cela améliore la sécurité, diminue le temps de démarrage et augmente l’utilisation du matériel. Firecracker prend actuellement en charge les processeurs Intel, AMD et ARM. Firecracker a également été intégré dans des environnements d’exécution des conteneurs, par exemple Kata Containers et Weaveworks Ignite.

Rappel d’anciens articles à ce sujet :

Image for post
Image for post

Firecracker a été développé chez Amazon Web Services pour accélérer la vitesse et l’efficacité de services comme AWS Lambda et AWS Fargate. Firecracker est open source sous Apache version 2.0.

OpenNebula a sorti la version 5.12 de sa plate-forme éponyme en utilisant Firecracker comme option de virtualisation en conjonction de KVM, LXD et VMware :

Image for post
Image for post

Cette nouvelle version apporte notamment l’intégration transparente avec des places de marchés comme Docker Hub ou l’exécution directe d’images Docker sur microVM et leur composition dans des conteneurs avec mise à l’échelle automatique …

Image for post
Image for post

Je pars donc pour cette nouvelle expérience d’une instance Ubuntu 20.04 LTS 64 Bits dans DigitalOcean qui permet l’accès à de la virtualisation imbriquée :

Image for post
Image for post

Et j’utilise pour cela la dernière version de MiniONE, un outil de déploiement facile à utiliser pour construire un cloud OpenNebula basé soit sur des machines virtuelles (KVM), des conteneurs système (LXD), des micro VM (Firecracker) ou un déploiement Edge auprès du fournisseur cloud Packet.

Image for post
Image for post

Tous les composants nécessaires pour gérer et exécuter les machines virtuelles ou les conteneurs sont installés et configurés sur un système dédié en une seule commande …

Image for post
Image for post

Rappel de cet ancien article vis à vis de MiniONE …

Récupération du script :

Image for post
Image for post
Image for post
Image for post

et lancement de MiniONE avec Firecracker (en chargeant une image Ubuntu du Docker Hub et avec un dashboard accessible sur le port TCP 8888) :

Image for post
Image for post
Image for post
Image for post

L’installation se termine avec les identifiants générés automatiquement pour le compte administrateur de la plate-forme.

Image for post
Image for post

Accès au dashboard d’OpenNebula :

Image for post
Image for post
Image for post
Image for post

Je charge l’image officielle Node.js du Docker Hub en LTS avec Alpine Linux

Image for post
Image for post

sur le datastore local :

Image for post
Image for post
Image for post
Image for post

et je modifie les paramêtres de cette image dans le contexte d’utilisation de Firecracker parmis les templates disponibles.

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Je lance directement 6 MicroVMs avec Firecracker et cette image officielle Node.js du Docker Hub.

Image for post
Image for post
Image for post
Image for post

Comme pour une machine virtuelle classique, je vais utiliser Puppet Bolt pour populer ses instances Firecracker avec le sempiternel démonstrateur FC :

Image for post
Image for post

en commençant par son installation.

Image for post
Image for post
Image for post
Image for post
install.yaml

Puis exécution du plan avec Bolt vers ces microVMS Firecracker.

Image for post
Image for post

Et le démonstrateur FC est disponibles sur ces dernières :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

avec ce fichier de configuration TOML :

Image for post
Image for post
config.toml

GoBetween va donc officier pour répartir la charge sur chacune des MicroVMs hébergeant le démonstrateur FC :

Image for post
Image for post

Sur le Port 80 de l’instance MiniONE, j’accède au démonstrateur FC.

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

C’est une introduction au monde de l’intégration de Firecracker en tant que nouvelle technologie de virtualisation officiellement prise en charge dans cette version 5.12 d’OpenNebula qui ouvre un tout nouvel ensemble de possibilités. Comme OneEdge dans un contexte d’Edge Computing Open Source …

Image for post
Image for post

Above the clouds, the sky is always blue ...

Get the Medium app