For the complete documentation index, see llms.txt. This page is also available as Markdown.

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.

  1. Obtenez une clé API dans l’interface VergeOS (Système > Utilisateurs > [votre utilisateur] > Clés API)

  2. Utilisez curl ou un client REST pour s’authentifier :

  3. Répertoriez toutes les VM à l’aide du /api/v4/vms point de terminaison

  4. Créez une nouvelle VM via l’API :

    • POST vers /api/v4/vms avec un corps JSON spécifiant le nom, le CPU, la mémoire et le disque

  5. Démarrez et arrêtez la VM à l’aide de l’API

  6. Supprimez la VM via l’API

  7. Explorez des points de terminaison supplémentaires : réseaux (/api/v4/vnets — la table s’appelle vnets tandis 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.

  1. Clonez le dépôt vergeos-terraform-playground :

  2. Examinez la configuration du fournisseur dans main.tf

  3. Copiez et personnalisez un fichier exemple .tfvars pour votre environnement

  4. Exécutez terraform init pour télécharger le fournisseur VergeOS

  5. Exécutez terraform plan pour prévisualiser les modifications de l’infrastructure

  6. Exécutez terraform apply pour provisionner les ressources

  7. Vérifiez les ressources créées dans l’interface VergeOS

  8. Modifiez une ressource dans la configuration Terraform et réappliquez

  9. Exécutez terraform destroy pour nettoyer

Partie 3 : automatisation par script

Automatisez un flux de travail à l’aide de pyvergeos (Python) ou du module PowerShell.

  1. Installez pyvergeos :

  2. É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

  3. É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.

  1. 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

  2. Attachez la configuration cloud-init à une nouvelle VM via l’API ou l’interface

  3. 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 ?