Remarques :

Configuration du toolkit CD3 avec l'interface de ligne de commande pour créer et exporter des ressources Oracle Cloud Infrastructure

Introduction

La boîte à outils d'automatisation Cloud Deployment Design Deliverable (CD3) vous permet de créer, d'exporter et de gérer facilement des ressources Oracle Cloud Infrastructure (OCI) en convertissant facilement des modèles Excel en modules Terraform entièrement fonctionnels.

La boîte à outils prend également en charge la gestion transparente des ressources à l'aide du service OCI DevOps Git et des pipelines Jenkins.

workflow

Objectifs

Prérequis

Tâche 1 : configurer le conteneur de la boîte à outils

  1. Cliquez sur Déployer vers Oracle Cloud pour lancer la pile OCI Resource Manager qui crée le fichier CD3 workVM.

    Deploy_To_OCI

  2. Acceptez les conditions. Entrez le réseau, le compartiment, le nom de la machine virtuelle, la forme et d'autres détails pour workVM.

    Remarque : pour maintenir un environnement sécurisé, fournissez une plage CIDR source spécifique afin d'accéder à la machine virtuelle. N'utilisez pas 0.0.0.0/0.

  3. Vérifiez la section Exécuter l'application et cliquez sur Créer.

  4. Une fois le travail Appliquer réussi, cliquez dessus et faites défiler la page jusqu'à la fin des journaux.

    Recherchez les détails de la machine virtuelle créée et les commandes à exécuter pour vous connecter au conteneur de la boîte à outils. L'image suivante présente l'exemple de sortie.

    rmstackoutput

    Après vous être connecté au conteneur, suivez la tâche 2 et connectez-vous à la location OCI pour exécuter les API OCI.

Tâche 2 : connexion du conteneur à la location OCI

  1. Dans le conteneur, accédez à cd /cd3user/oci_tools/cd3_automation_toolkit/user-scripts/ et ouvrez le fichier tenancyconfig.properties.

  2. Ajoutez les valeurs de configuration requises dans les sections Paramètres requis et Paramètres de détails d'authentification.

    Remarque : dans ce tutoriel, nous utiliserons l'authentification par clé d'API. Conservez la valeur par défaut de auth_mechanism.

  3. Accédez à la console OCI, sous Paramètres d'utilisateur, téléchargez la clé publique vers APIkeys. Placez la clé privée dans le conteneur. Copiez les valeurs de configuration requises et collez-les sous les paramètres correspondants dans le fichier tenancyconfig.properties.

  4. Conservez la valeur par défaut du paramètre outdir_structure_file. Cela regroupera les fichiers auto.tfvars générés pour chaque service sous son dossier spécifique.

  5. Pour l'outil IaC, vous pouvez sélectionner terraform ou tofu. La valeur par défaut est terraform. Pour utiliser OpenTofu, indiquez tofu.

    tenancyconfig_properties

    Remarque : laissez la section Paramètres avancés pour DevOps telle quelle car la configuration de Jenkins n'est pas comprise dans le cadre de ce tutoriel. Pour exécuter le toolkit à l'aide de Jenkins, reportez-vous à Configuration de CD3 avec Jenkins afin de créer et d'exporter des ressources Oracle Cloud Infrastructure.

  6. Enregistrez le fichier et exécutez createTenancyConfig.py pour initialiser l'environnement et commencer à utiliser CD3.

    python createTenancyConfig.py tenancyconfig.properties
    
  7. Vérifiez le résultat.

    tenancyconfig_output

    Ensuite, pour créer des ressources dans OCI, suivez la tâche 3 et pour exporter des ressources, suivez la tâche 4.

Tâche 3 : Créer des ressources

Tâche 3.1 : Préparer le fichier Excel et les variables

  1. Téléchargez le modèle Excel prérempli à l'adresse suivante : cd3quickstart.xlsx. Modifiez les valeurs de région et de compartiment dans la feuille en fonction de votre environnement, puis revenez au conteneur.

  2. Ajoutez le fichier Excel dans le conteneur à l'emplacement /cd3user/tenancies/cd3_demo_cli/ à l'aide de la commande scp ci-dessous.

    Remarque : le dossier locations du conteneur CD3 est mis en correspondance avec le dossier /cd3user/mount_path de la machine virtuelle de calcul. Connectez-vous avec cd3user pour éviter les problèmes de droits d'accès.

    scp -i ~/.ssh/id_rsa /Users/xyz/cd3quickstart.xlsx cd3user@<workvm_ip>:/cd3user/mount_path/cd3_demo_cli/cd3quickstart.xlsx
    
  3. Ouvrez /cd3user/tenancies/cd3_demo_cli/terraform_files/<region>/compute/variables_<region>.tf à partir du conteneur. Sous la variable instance_ssh_keys, ajoutez le nom de variable pour les clés SSH indiquées dans la feuille Excel ssh_public_key avec la valeur correspondante (contenu de clé).

    ssh_key

  4. Sous la variable instance_source_ocids, incluez le nom de variable indiqué dans la feuille Excel pour l'image source myimageocid et affectez son OCID en tant que valeur correspondante.

    code source

Tâche 3.2 : exécuter le script setUpOCI.py pour générer des fichiers Terraform de ressource

  1. Ouvrez le fichier /cd3user/tenancies/cd3_demo_cli/cd3_demo_cli_setUpOCI.properties et ajoutez le chemin du fichier Excel CD3 sous la variable cd3file. Définissez la variable workflow_type sur create_resources et enregistrez le fichier.

    image

  2. Accédez au répertoire cd /cd3user/oci_tools/cd3_automation_toolkit/ et exécutez le script setUpOCI.py.

    python setUpOCI.py /cd3user/tenancies/cd3_demo_cli/cd3_demo_cli_setUpOCI.properties
    

    Remarque : si vous exécutez le script pour la première fois, sélectionnez y pour l'invite Exécuter le script afin d'extraire les OCID de compartiment dans un fichier de variables.

    image

  3. Sélectionnez les options Réseau et Calcul dans le menu de sortie, puis sélectionnez les sous-options : Créer un réseau pour créer un VCN et des sous-réseaux, Ajouter/Modifier/Supprimer des instances/Stratégie de sauvegarde d'initialisation pour provisionner des instances.

  4. Accédez au répertoire /cd3user/tenancies/cd3_demo_cli/terraform_files/<region>/network/. Exécutez les commandes Terraform pour provisionner les ressources réseau.

    terraform init
    terraform plan -out tfplan
    terraform apply tfplan
    
  5. Créer un réseau crée quelques règles dans le VCN qui ne sont pas encore présentes dans la feuille Excel CD3 (car ces détails proviennent initialement de l'onglet Sous-réseaux). Pour les synchroniser avec le fichier Excel, exécutez à nouveau le script setUpOCI à l'aide de la même feuille Excel que ci-dessus. Assurez-vous que le workflow est défini sur Créer des ressources dans le fichier cd3_demo_cli_setUpOCI.properties. Sélectionnez Réseau sous les options principales, puis les sous-options ci-dessous.

    Security Rules  ---> Export Security Rules (From OCI into SecRulesinOCI sheet), Add/Modify/Delete Security Rules (Reads SecRulesinOCI sheet)
    
    Route Rules     ---> Export Route Rules (From OCI into RouteRulesinOCI sheet), Add/Modify/Delete Route Rules (Reads RouteRulesinOCI sheet)
    
    DRG Route Rules ---> Export DRG Route Rules (From OCI into DRGRouteRulesinOCI sheet), Add/Modify/Delete DRG Route Rules (Reads DRGRouteRulesinOCI sheet)
    
  6. Une fois que vous avez terminé, les feuilles DRGRouteRulesinOCI, RouteRulesinOCI et SecRulesinOCI du modèle Excel sont remplies avec les données correspondantes et les fichiers cd3_demo_cli_seclists.auto.tfvars, cd3_demo_cli_routetables.auto.tfvars et cd3_demo_cli_drg-routetables.auto.tfvars sont générés sous le dossier /cd3user/tenancies/cd3_demo_cli/terraform_files/<region_dir>/<service_dir>.

  7. Vérifiez terraform plan et terraform apply. L'exécution de l'application terraform complète l'export des règles de sécurité, des règles de routage et des règles de routage DRG à partir d'OCI. Désormais, l'état terraform doit être synchronisé avec OCI.

  8. Pour provisionner des ressources de calcul, accédez au répertoire /cd3user/tenancies/cd3_demo_cli/terraform_files/<region>/compute/ et exécutez les commandes Terraform.

    terraform init
    terraform plan -out tfplan
    terraform apply tfplan
    

    Vérifiez les ressources provisionnées dans la console OCI.

Tâche 4 : Exporter des ressources

Tâche 4.1 : Ajouter un modèle Excel au conteneur

  1. Téléchargez CD3-Blank-template et ajoutez-le au conteneur à l'adresse /cd3user/tenancies/cd3_demo_cli/.

    Remarque : le dossier locations du conteneur cd3 est mis en correspondance avec le dossier /cd3user/mount_path de la machine virtuelle de calcul. Connectez-vous avec cd3user pour éviter les problèmes de droits d'accès.

  2. Accédez au dossier /cd3user/tenancies/cd3_demo_cli/ et ouvrez le fichier cd3_demo_cli_setUpOCI.properties.

  3. Ajoutez le chemin du fichier Excel CD3 sous la variable cd3file.

  4. Définissez le paramètre workflow_type sur export_resources et enregistrez le fichier.

Tâche 4.2 : exécuter le script setUpOCI.py

  1. Accédez au répertoire cd /cd3user/oci_tools/cd3_automation_toolkit/ et exécutez le script setUpOCI.py.

    python setUpOCI.py /cd3user/tenancies/cd3_demo_cli/cd3_demo_cli_setUpOCI.properties
    

    Remarque : si vous exécutez le script pour la première fois, sélectionnez y pour l'invite Exécuter le script afin d'extraire les OCID de compartiment dans un fichier de variables.

    image

  2. Indiquez des valeurs region séparées par des virgules si vous devez exporter des ressources à partir de plusieurs régions. Si aucune valeur de région n'est fournie, la boîte à outils exportera les ressources de toutes les régions abonnées.

  3. Sélectionnez les options de ressource à exporter (Réseau et Compute). Vous pouvez choisir d'exporter les ressources uniquement à partir de compartiments spécifiques ou de tous les compartiments. Si le nom du compartiment n'est pas unique, il doit être indiqué au format suivant en fonction de la hiérarchie.

    Parent Compartment::Child Compartment1::Child Compartment2
    
  4. Pour exporter uniquement des ressources spécifiques, saisissez les valeurs de filtre requises lorsque vous y êtes invité.

    Remarque : pour plus d'informations sur l'export des ressources OCI Networking et des ressources OCI Compute, reportez-vous à Export de ressources OCI Networking et à Export de ressources OCI Compute.

  5. Une fois l'opération terminée, les données de ressource exportées sont renseignées dans le fichier Excel d'entrée. La feuille Excel mise à jour est présente sous le dossier /cd3user/tenancies/cd3_demo_cli dans le conteneur et doit être copiée manuellement sur le système local à l'aide de la commande scp.

    scp -i ~/.ssh/id_rsa cd3user@<workvm_ip>:/cd3user/mount_path/cd3_demo_cli/CD3-Blank-template.xlsx /Users/xyz/CD3-export.xlsx
    
  6. Les fichiers .tfvars et .sh propres au service avec des commandes d'import terraform sont générés dans les dossiers de service respectifs sous le dossier de région :

    • /cd3user/tenancies/cd3_demo_cli/terraform_files/<region_dir>/network/

    • /cd3user/tenancies/cd3_demo_cli/terraform_files/<region_dir>/compute/

    Pour OCI Compute, les clés publiques SSH associées sont placées dans variables_<region>.tf sous la variable instance_ssh_keys et les OCID source sont placés sous la variable instance_source_ocid.

Tâche 4.3 : exécuter les fichiers .sh générés

  1. A partir des dossiers de service network et compute, exécutez chacun des fichiers .sh générés contenant les commandes d'import Terraform.

    Remarque : pour OCI Networking, avant d'exécuter les autres scripts .sh, veillez à exécuter le script .sh pour major_objects : sh import_commands_network_major-objects.sh

  2. Une fois les scripts .sh terminés, le fichier d'état Terraform est généré et le plan terraform est mis à jour avec la dernière version.

Ce code Terraform généré peut être utilisé avec OCI Resource Manager ou utilisé par les processus d'intégration continue et de déploiement continu de l'organisation pour une gestion plus approfondie.

Pour ajouter de nouvelles ressources ou modifier des ressources existantes, exportez d'abord les ressources vers CD3, apportez les modifications requises dans le modèle Excel exporté, puis, dans le fichier /cd3user/tenancies/cd3_demo_cli/cd3_demo_cli_setUpOCI.properties, modifiez workflow_type en create_resources et exécutez la boîte à outils.

Remerciements

Ressources de formation supplémentaires

Parcourez d'autres ateliers sur docs.oracle.com/learn ou accédez à davantage de contenus de formation gratuits sur le canal Oracle Learning YouTube. De plus, rendez-vous sur education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir de la documentation sur le produit, visitez Oracle Help Center.