Lab : automatisation de l’infrastructure
Utiliser l’API REST VergeOS, le fournisseur Terraform et des outils de scripting pour automatiser de bout en bout le provisionnement des VM et des locataires.
Objectif
Automatisez les opérations d’infrastructure VergeOS à l’aide de l’API REST, du fournisseur Terraform et d’outils de script (pyvergeos ou PowerShell). À la fin de ce lab, vous aurez provisionné des VM et des locataires par programme et comprendrez comment intégrer VergeOS dans des workflows CI/CD et d’automatisation.
Prérequis
Module 1 terminé : Fondamentaux de l'architecture
Module 6 terminé : Machines virtuelles
Module 7 terminé : Multitenance
Lecture du module 8 terminée (API REST, Terraform, Python/PowerShell, Cloud-Init)
Un cluster VergeOS en cours d’exécution avec l’accès à l’API activé
Terraform installé localement (v1.5+)
Python 3.9+ ou PowerShell 7+ installés localement
Accès au vergeos-terraform-playground dépôt
Difficulté
Intermédiaire -- Nécessite une familiarité avec les API REST, les concepts d’infrastructure as code et le scripting de base
Temps estimé
2 heures
Étapes
Partie 1 : exploration de l’API REST
Authentifiez-vous auprès de l’API VergeOS et effectuez des opérations de base.
Obtenez une clé API dans l’interface VergeOS (Système > Utilisateurs > [votre utilisateur] > Clés API)
Utilisez
curlou un client REST pour s’authentifier :Répertoriez toutes les VM à l’aide du
/api/v4/vmspoint de terminaisonCréez une nouvelle VM via l’API :
POST vers
/api/v4/vmsavec un corps JSON spécifiant le nom, le CPU, la mémoire et le disque
Démarrez et arrêtez la VM à l’aide de l’API
Supprimez la VM via l’API
Explorez des points de terminaison supplémentaires : réseaux (
/api/v4/vnets— la table s’appellevnetstandis que le nom dans l’interface/objet est « Networks »), locataires (/api/v4/tenants)
Partie 2 : fournisseur Terraform
Utilisez le fournisseur Terraform VergeOS pour gérer l’infrastructure de manière déclarative.
Clonez le dépôt vergeos-terraform-playground :
Examinez la configuration du fournisseur dans
main.tfCopiez et personnalisez un fichier exemple
.tfvarspour votre environnementExécutez
terraform initpour télécharger le fournisseur VergeOSExécutez
terraform planpour prévisualiser les modifications de l’infrastructureExécutez
terraform applypour provisionner les ressourcesVérifiez les ressources créées dans l’interface VergeOS
Modifiez une ressource dans la configuration Terraform et réappliquez
Exécutez
terraform destroypour nettoyer
Partie 3 : automatisation par script
Automatisez un flux de travail à l’aide de pyvergeos (Python) ou du module PowerShell.
Installez pyvergeos :
Écrivez un script qui :
Se connecte à votre cluster VergeOS
Répertorie toutes les VM et leur état actuel
Crée une nouvelle VM à partir d’une recette/modèle
Attend que la VM soit en cours d’exécution
Affiche l’adresse IP de la VM et les détails de connexion
Étendez le script pour :
Créer un locataire avec des allocations de ressources prédéfinies
Déployer une VM à l’intérieur du locataire
Vérifier l’isolation du locataire en contrôlant la connectivité réseau
Partie 4 : Cloud-Init
Configurez un provisionnement de VM sans intervention à l’aide de cloud-init.
Créez un fichier de configuration cloud-init avec :
Paramètres de nom d’hôte et de réseau
Comptes utilisateur et clés SSH
Commandes d’installation des paquets
Scripts post-démarrage
Attachez la configuration cloud-init à une nouvelle VM via l’API ou l’interface
Démarrez la VM et vérifiez que la configuration cloud-init a été appliquée :
Vérifiez le nom d’hôte et les paramètres réseau
Vérifiez que les comptes utilisateur existent
Confirmez que les paquets ont été installés
Vérification
Votre lab d’automatisation d’infrastructure est terminé lorsque vous pouvez répondre oui à tout ce qui suit :
Mis à jour
Ce contenu vous a-t-il été utile ?