Note :

Configurer la boîte à outils CD3 avec l'interface de ligne de commande pour créer et exporter des ressources Oracle Cloud Infrastructure

Présentation

La boîte à outils d'automatisation des produits livrables de conception de déploiement en nuage (CD3) vous permet de créer, d'exporter et de gérer sans effort les 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 Git pour OCI DevOps et des pipelines Jenkins.

flux des travaux

Objectifs

Préalables

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

  1. Cliquez sur Déployer vers Oracle Cloud pour lancer la pile du gestionnaire de ressources OCI qui crée CD3 workVM.

    Deploy_To_OCI

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

    Note : Pour maintenir un environnement sécurisé, indiquez un intervalle CIDR source spécifique pour 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 la tâche Appliquer réussie, cliquez sur la tâche et faites défiler l'affichage vers le bas 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 boîte à outils. L'illustration 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 : Connecter le 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 des détails d'authentification.

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

  3. Allez à la console OCI, sous Paramètres de l'utilisateur, chargez la clé publique dans APIkeys. Placez la clé privée à l'intérieur du 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. Les fichiers auto.tfvars générés seront regroupés pour chaque service sous son dossier propre.

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

    tenancyconfig_properties

    Note : Laissez la section Paramètres avancés pour DevOps telle quelle car la configuration de Jenkins ne fait pas partie de la portée de ce tutoriel. Pour exécuter la boîte à outils à l'aide de Jenkins, voir Configurer CD3 avec Jenkins pour créer et 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 la sortie.

    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 ici : cd3quickstart.xlsx. Modifiez les valeurs de région et de compartiment dans la feuille en fonction de votre environnement et revenez au conteneur.

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

    Note : Le dossier locations du conteneur CD3 est mappé au dossier /cd3user/mount_path dans la machine virtuelle de calcul. Connectez-vous avec cd3user pour éviter les problèmes d'autorisation.

    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 la variable pour les clés SSH spécifiées dans la feuille Excel ssh_public_key avec la valeur correspondante (contenu de la clé).

    ssh_key

  4. Sous la variable instance_source_ocids, incluez le nom de variable spécifié dans la feuille Excel pour l'image source myimageocid et affectez son OCID comme valeur correspondante.

    sourceocides

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

  1. Ouvrez le fichier /cd3user/tenancies/cd3_demo_cli/cd3_demo_cli_setUpOCI.properties et ajoutez le chemin d'accès au fichier Excel CD3 sous la variable cd3file. Réglez la variable workflow_type à 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
    

    Note : Si vous exécutez le script pour la première fois, sélectionnez y pour l'invite Exécuter le script pour extraire les OCID du compartiment dans le 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/Politique de sauvegarde de démarrage pour provisionner des instances.

  4. Accédez au répertoire /cd3user/tenancies/cd3_demo_cli/terraform_files/<region>/network/. Exécutez des commandes Terraform pour provisionner les ressources de 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 sont initialement extraits de l'onglet des sous-réseaux). Pour les synchroniser dans le fichier Excel, exécutez de nouveau le script setUpOCI en utilisant la même feuille Excel que ci-dessus. Assurez-vous que le flux de travail est réglé à 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 les feuilles DRGRouteRulesinOCI, RouteRulesinOCI et SecRulesinOCI du modèle Excel sont alimentées 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 termine l'exportation des règles de sécurité, des règles de routage et des règles de routage DRG à partir d'OCI. Maintenant, 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/.

    Note : Le dossier locations du conteneur cd3 est mappé au dossier /cd3user/mount_path dans la machine virtuelle de calcul. Connectez-vous avec cd3user pour éviter les problèmes d'autorisation.

  2. Naviguez jusqu'au dossier /cd3user/tenancies/cd3_demo_cli/ et ouvrez le fichier cd3_demo_cli_setUpOCI.properties.

  3. Ajoutez le chemin d'accès au fichier Excel CD3 sous la variable cd3file.

  4. Réglez le paramètre workflow_type à 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
    

    Note : Si vous exécutez le script pour la première fois, sélectionnez y pour l'invite Exécuter le script pour extraire les OCID du compartiment dans le fichier de variables.

    Image

  2. Indiquez des valeurs region séparées par des virgules si vous devez exporter des ressources 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 auxquelles vous êtes abonné.

  3. Sélectionnez les options de ressource à exporter (Réseau et Calcul). 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 spécifié dans le format suivant en fonction de la hiérarchie.

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

    Note : Pour plus d'informations sur l'exportation des ressources de réseau OCI et des ressources de calcul OCI, voir Exporter les ressources de réseau OCI et Exporter les ressources de calcul OCI.

  5. Une fois l'opération terminée, les données de ressource exportées sont alimenté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 dans 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'importation 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 le service de calcul OCI, les clés publiques SSH associées sont placées dans variables_<region>.tf sous la variable instance_ssh_keys et les OCID sources sont placés sous la variable instance_source_ocid.

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

  1. Dans les dossiers des services de réseau et de calcul, exécutez chacun des fichiers .sh générés contenant les commandes d'importation Terraform.

    Note : Pour le service de réseau OCI, avant d'exécuter les autres scripts .sh, assurez-vous d'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 au plus tard.

Ce code Terraform généré peut être utilisé avec le gestionnaire de ressources OCI ou utilisé par les processus d'intégration et de développement en continu de l'organisation pour une gestion ultérieure.

Pour ajouter de nouvelles ressources ou modifier des ressources existantes, exportez-les d'abord 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, remplacez workflow_type par create_resources et exécutez la boîte à outils.

Confirmation

Autres ressources d'apprentissage

Explorez d'autres laboratoires sur la page docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal YouTube d'Oracle Learning. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

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