DEV Community

loading...

OpenStack sur LXD avec Juju et k3sup dans phoenixNAP …

deep75 profile image Karim Originally published at Medium on ・6 min read

Le fournisseur mondial de services informatiques phoenixNAP 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 …

phoenixNAP Announces General Availability of Bare Metal Cloud

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.

Bare Metal Cloud Servers

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 :

Il est possible de provisionner ce serveur en ligne de commande via par exemple le fournisseur Pulumi :

J’y installe Juju avec les clients Python pour OpenStack :

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 :

Je récupère le Bundle OpenStack on LXD pour Juju via GitHub :

openstack-charmers/openstack-on-lxd

OpenStack on LXD

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 :

J’installe Arkade :

alexellis/arkade

qui me permet de récupérer k3sup :

alexellis/k3sup

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 :

Récupération de cloudflared Argo :

Argo Tunnel | Logiciel de tunnellisation sécurisée | Cloudflare

Pour créer un tunnel permettant d’accéder publiquement au démonstrateur FC :

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

C’est une méthode alternative à celle utilisée dans un article précédent avec MicroStack et le NFV :

NFV/Edge : Déploiement de Charmed OSM (Open Source MANO) via Juju, MicroStack et MicroK8s …

Il est aussi possible de provisionner phoenixNAP Bare Metal Cloud avec l’aide de Canonical MAAS (Metal as a Service) :

ou via Terraform :

Infrastructure as Code with Terraform on Bare Metal Cloud

Discussion

pic
Editor guide