OpenStack sur LXD avec Juju et k3sup dans phoenixNAP …

Karim
8 min readNov 8, 2020

PhoenixNAP, fournisseur mondial de services informatiques proposant des infrastructures en nuage axées sur la sécurité, des serveurs dédiés, la colocation et des solutions technologiques spécialisées d’infrastructure en tant que service (IaaS), a annoncé le mois dernier le lancement officiel de Bare Metal Cloud, une nouvelle plateforme de serveurs en mode Pay as You Go …

Bare Metal Cloud est une infrastructure de serveur physique non virtualisée, à locataire unique, qui peut être mise en place en quelques minutes. Les organisations peuvent déployer des ressources supplémentaires rapidement et à moindre coût pour faire face à des pics soudains de la demande. Parallèlement, les entreprises dont la charge de travail est plus prévisible et qui ont besoin d’une disponibilité garantie des ressources peuvent profiter d’une option de réservation mensuelle plus longue.

Je provisionne un serveur bare metal en s1.c1.small à 64 GB de RAM avec Ubuntu 18.04 LTS depuis le tableau de bord client de phoenixNAP :

J’y installe également l’hyperviseur LXD :

Initialisation de LXD :

et paramétrage du pool d’adresses IP pour les futurs conteneurs LXC via un serveur DHCP :

Initialisation locale d’un contrôleur Juju :

Pour rappel, Canonical Juju est un gestionnaire de paquets pour le cloud et la gestion de charges de travail basées ici sur les conteneurs LXC. Les développeurs et les utilisateurs finaux sont ciblés.Il utilise pour cela des bundles (ensembles de charms qui relient les services entre eux) permettent de décrire les relations entre les modèles pour réutiliser des applications hors de leur modèle d’origine.

Lancement de ce dernier avec Juju via le contrôleur installé localement qui va créer un cluster OpenStack sur une base de conteneurs LXC :

Je lance cette action supplémentaire pour finaliser la création du cluster :

Le cluster OpenStack est déployé et opérationnel :

Avec son pool de conteneurs LXC :

et ses services actifs :

Configuration des réseaux interne, public et du routeur :

Récupération d’une image Ubuntu 20.04 LTS pour une inscription dans Glance :

Après récupération des identifiants, je peux accéder au dashboard du cluster OpenStack :

via une redirection SSH :

Et de la même manière pour le tableau de bord de Juju :

Avec l’image d’Ubuntu 20.04 LTS récupérée précédemment, je peux lancer un pool de 6 instances :

Via k3sup je peux initialiser un cluster k3s en mode HA avec Etcd embarqué (mode non recommandé en production). Création du premier serveur maître :

Puis ajout du second serveur maître :

ainsi que le dernier :

Les trois noeuds maîtres sont actifs :

Ajout des trois instances restantes en tant que noeuds Worker du cluster k3s :

Le cluster est opérationnel :

Déploiement test du sempiternel démonstrateur FC :

deployment.yml

En utilisant l’Ingress Controller dans k3s sur le port TCP 80 :

qui utilise l’adresse IP d’un des noeuds maître :

Via l’URL fournie j’y accède :

--

--