Remarques :
- Ce tutoriel nécessite un accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, reportez-vous à Introduction au niveau gratuit d'Oracle Cloud Infrastructure.
- Il utilise des exemples de valeur pour les informations d'identification, la location et les compartiments Oracle Cloud Infrastructure. A la fin de l'exercice, remplacez ces valeurs par des valeurs propres à votre environnement cloud.
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.
Objectifs
-
Lancez la pile de gestionnaire de ressources de conteneur CD3 en un seul clic et créez des ressources OCI Networking et OCI Compute à l'aide de l'interface de ligne de commande CD3.
-
Exportez les ressources OCI Networking et OCI Compute à l'aide de l'interface de ligne de commande CD3.
Prérequis
-
Stratégie Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) permettant à l'utilisateur ou au principal d'instance de gérer les services devant être créés ou exportés à l'aide du toolkit.
-
L'utilisateur qui déploie la pile doit avoir accès au lancement de la pile OCI Resource Manager, de l'instance OCI Compute et des ressources OCI Networking.
Tâche 1 : configurer le conteneur de la boîte à outils
-
Cliquez sur Déployer vers Oracle Cloud pour lancer la pile OCI Resource Manager qui crée le fichier CD3 workVM.
-
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
. -
Vérifiez la section Exécuter l'application et cliquez sur Créer.
-
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.
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
-
Dans le conteneur, accédez à
cd /cd3user/oci_tools/cd3_automation_toolkit/user-scripts/
et ouvrez le fichiertenancyconfig.properties
. -
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
. -
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
. -
Conservez la valeur par défaut du paramètre
outdir_structure_file
. Cela regroupera les fichiersauto.tfvars
générés pour chaque service sous son dossier spécifique. -
Pour l'outil IaC, vous pouvez sélectionner terraform ou tofu. La valeur par défaut est terraform. Pour utiliser OpenTofu, indiquez tofu.
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.
-
Enregistrez le fichier et exécutez
createTenancyConfig.py
pour initialiser l'environnement et commencer à utiliser CD3.python createTenancyConfig.py tenancyconfig.properties
-
Vérifiez le résultat.
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
-
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.
-
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 aveccd3user
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
-
Ouvrez
/cd3user/tenancies/cd3_demo_cli/terraform_files/<region>/compute/variables_<region>.tf
à partir du conteneur. Sous la variableinstance_ssh_keys
, ajoutez le nom de variable pour les clés SSH indiquées dans la feuille Excelssh_public_key
avec la valeur correspondante (contenu de clé). -
Sous la variable
instance_source_ocids
, incluez le nom de variable indiqué dans la feuille Excel pour l'image sourcemyimageocid
et affectez son OCID en tant que valeur correspondante.
Tâche 3.2 : exécuter le script setUpOCI.py
pour générer des fichiers Terraform de ressource
-
Ouvrez le fichier
/cd3user/tenancies/cd3_demo_cli/cd3_demo_cli_setUpOCI.properties
et ajoutez le chemin du fichier Excel CD3 sous la variablecd3file
. Définissez la variable workflow_type surcreate_resources
et enregistrez le fichier. -
Accédez au répertoire
cd /cd3user/oci_tools/cd3_automation_toolkit/
et exécutez le scriptsetUpOCI.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.
-
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.
-
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
-
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 fichiercd3_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)
-
Une fois que vous avez terminé, les feuilles
DRGRouteRulesinOCI
,RouteRulesinOCI
etSecRulesinOCI
du modèle Excel sont remplies avec les données correspondantes et les fichierscd3_demo_cli_seclists.auto.tfvars
,cd3_demo_cli_routetables.auto.tfvars
etcd3_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>
. -
Vérifiez
terraform plan
etterraform 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. -
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
-
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 aveccd3user
pour éviter les problèmes de droits d'accès. -
Accédez au dossier
/cd3user/tenancies/cd3_demo_cli/
et ouvrez le fichiercd3_demo_cli_setUpOCI.properties
. -
Ajoutez le chemin du fichier Excel CD3 sous la variable
cd3file
. -
Définissez le paramètre workflow_type sur
export_resources
et enregistrez le fichier.
Tâche 4.2 : exécuter le script setUpOCI.py
-
Accédez au répertoire
cd /cd3user/oci_tools/cd3_automation_toolkit/
et exécutez le scriptsetUpOCI.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.
-
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. -
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
-
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.
-
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
-
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 variableinstance_ssh_keys
et les OCID source sont placés sous la variableinstance_source_ocid
. -
Tâche 4.3 : exécuter les fichiers .sh
générés
-
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
-
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.
Liens connexes
-
CD3 Boîte à outils d'automatisation : créer et gérer du code Terraform
-
Configuration de CD3 avec Jenkins pour créer et exporter des ressources Oracle Cloud Infrastructure
Remerciements
- Auteur - Lasya Vadavalli (ingénieur cloud senior)
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.
Configure CD3 Toolkit with CLI to Create and Export Oracle Cloud Infrastructure Resources
F87011-04
September 2024