Note:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse en una cuenta gratuita, consulte Introducción a la cuenta gratuita de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al completar el laboratorio, sustituya estos valores por otros específicos de su entorno en la nube.
Configuración de CD3 Toolkit con CLI para crear y exportar recursos de Oracle Cloud Infrastructure
Introducción
El kit de herramientas de automatización del entregable de diseño de despliegue en la nube (CD3) le permite crear, exportar y gestionar sin esfuerzo los recursos de Oracle Cloud Infrastructure (OCI) mediante la conversión sencilla de plantillas de Excel en módulos de Terraform totalmente funcionales.
El kit de herramientas también soporta una gestión de recursos perfecta mediante el servicio DevOps Git de OCI y los pipelines de Jenkins.
Objetivos
-
Inicie la pila de gestor de recursos de contenedor CD3 con un solo clic y cree recursos de OCI Networking y OCI Compute mediante la CLI CD3.
-
Exporte los recursos de OCI Networking y OCI Compute mediante la CLI CD3.
Requisitos
-
Política de Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) para permitir que el usuario o el principal de instancia gestionen los servicios que se deben crear o exportar mediante el toolkit.
-
El usuario que despliega la pila debe tener acceso para iniciar la pila de OCI Resource Manager, la instancia de OCI Compute y los recursos de OCI Networking.
Tarea 1: Configuración del contenedor del kit de herramientas
-
Haga clic en Desplegar en Oracle Cloud para iniciar la pila de OCI Resource Manager que crea CD3 workVM.
-
Acepte los términos y condiciones. Introduzca la red, el compartimento, el nombre de la máquina virtual (VM), la unidad y otros detalles de workVM.
Nota: Para mantener un entorno seguro, proporcione un rango de CIDR de origen específico para acceder a la VM. No utilice
0.0.0.0/0
. -
Compruebe la sección Run Apply (Ejecutar aplicación) y haga clic en Create (Crear).
-
Una vez que el trabajo Aplicar se haya realizado correctamente, haga clic en el trabajo y desplácese hacia abajo hasta el final de los logs.
Busque los detalles de la VM creada y los comandos que se van a ejecutar para conectarse al contenedor del kit de herramientas. En la siguiente imagen se muestra un ejemplo de la salida.
Después de conectarse al contenedor, siga la tarea 2 y conéctese al arrendamiento de OCI para ejecutar las API de OCI.
Tarea 2: Conexión del contenedor al arrendamiento de OCI
-
Dentro del contenedor, vaya a
cd /cd3user/oci_tools/cd3_automation_toolkit/user-scripts/
y abra el archivotenancyconfig.properties
. -
Agregue los valores de configuración necesarios en las secciones Parámetros necesarios y Parámetros de detalles de autorización.
Nota: En este tutorial, utilizaremos la autenticación de clave de API. Mantenga
auth_mechanism
en su valor por defecto. -
Vaya a la consola de OCI, en Configuración de usuario, cargue la clave pública en APIkeys. Coloque la clave privada dentro del contenedor. Copie los valores de configuración necesarios y péguelos en los parámetros correspondientes del archivo
tenancyconfig.properties
. -
Mantenga el valor por defecto para el parámetro
outdir_structure_file
. Esto agrupará los archivosauto.tfvars
generados para cada servicio en la carpeta específica del servicio. -
Para la herramienta IaC, se puede seleccionar terraform o tofu. El valor por defecto es terraform. Para utilizar OpenTofu, especifique tofu.
Nota: Deje la sección Parámetros Avanzados para DevOps tal como está, ya que la configuración de Jenkins no está en el ámbito de este tutorial. Para ejecutar el toolkit con Jenkins, consulte Configuración de CD3 con Jenkins para crear y exportar recursos de Oracle Cloud Infrastructure.
-
Guarde el archivo y ejecute
createTenancyConfig.py
para inicializar el entorno y empezar a utilizar CD3.python createTenancyConfig.py tenancyconfig.properties
-
Verifique la salida.
A continuación, para crear recursos en OCI, siga la tarea 3 y para exportar recursos, siga la tarea 4.
Tarea 3: Creación de recursos
Tarea 3.1: Preparar archivo de Excel y variables
-
Descargue la plantilla de Excel rellenada previamente desde aquí: cd3quickstart.xlsx. Modifique los valores de Región y Compartimento de la hoja en función del entorno y vuelva al contenedor.
-
Agregue el archivo de Excel dentro del contenedor en
/cd3user/tenancies/cd3_demo_cli/
mediante el siguiente comando scp.Nota: La carpeta arrendamientos del contenedor CD3 se asigna a la carpeta
/cd3user/mount_path
de la máquina virtual de cálculo. Conéctese concd3user
para evitar problemas de permisos.scp -i ~/.ssh/id_rsa /Users/xyz/cd3quickstart.xlsx cd3user@<workvm_ip>:/cd3user/mount_path/cd3_demo_cli/cd3quickstart.xlsx
-
Abra
/cd3user/tenancies/cd3_demo_cli/terraform_files/<region>/compute/variables_<region>.tf
desde el contenedor. En la variableinstance_ssh_keys
, agregue el nombre de la variable para las claves SSH especificadas en la hoja de Excelssh_public_key
con su valor correspondiente (contenido de clave). -
En la variable
instance_source_ocids
, incluya el nombre de variable especificado en la hoja de Excel para la imagen de origenmyimageocid
y asigne su OCID como valor correspondiente.
Tarea 3.2: Ejecución del script setUpOCI.py
para generar archivos de Terraform de recursos
-
Abra el archivo
/cd3user/tenancies/cd3_demo_cli/cd3_demo_cli_setUpOCI.properties
y agregue la ruta de acceso del archivo Excel CD3 en la variablecd3file
. Defina la variable workflow_type encreate_resources
y guarde el archivo. -
Cambie el directorio a
cd /cd3user/oci_tools/cd3_automation_toolkit/
y ejecute el scriptsetUpOCI.py
.python setUpOCI.py /cd3user/tenancies/cd3_demo_cli/cd3_demo_cli_setUpOCI.properties
Nota: Si está ejecutando el script por primera vez, seleccione y para la petición de datos Ejecutar script para recuperar los OCID del compartimento en el archivo de variables.
-
Seleccione las opciones Red y Recursos informáticos en el menú de salida y, a continuación, seleccione las subopciones: Crear red para crear VCN y subredes, Agregar/Modificar/Suprimir instancias/Política de copia de seguridad de inicio para aprovisionar instancias.
-
Cambie el directorio a
/cd3user/tenancies/cd3_demo_cli/terraform_files/<region>/network/
. Ejecute los comandos de Terraform para aprovisionar los recursos de red.terraform init terraform plan -out tfplan terraform apply tfplan
-
Crear red crea pocas reglas en la VCN que aún no estén presentes en la hoja de Excel CD3 (ya que estos detalles se toman inicialmente del separador de subredes). Para sincronizarlos con el archivo de Excel, vuelva a ejecutar el script
setUpOCI
utilizando la misma hoja de Excel que la anterior. Asegúrese de que el flujo de trabajo está definido en Crear recursos en el archivocd3_demo_cli_setUpOCI.properties
. Seleccione Red en las opciones principales y, a continuación, en las subopciones siguientes.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)
-
Una vez realizadas correctamente, las hojas
DRGRouteRulesinOCI
,RouteRulesinOCI
ySecRulesinOCI
de la plantilla de Excel se rellenarán con los datos correspondientes y se generarán los archivoscd3_demo_cli_seclists.auto.tfvars
,cd3_demo_cli_routetables.auto.tfvars
ycd3_demo_cli_drg-routetables.auto.tfvars
en la carpeta/cd3user/tenancies/cd3_demo_cli/terraform_files/<region_dir>/<service_dir>
. -
Verifique
terraform plan
yterraform apply
. La ejecución de la aplicación de terraform completa la exportación de reglas de seguridad, reglas de ruta y reglas de ruta de DRG desde OCI. Ahora, el estado de terraform debe estar sincronizado con OCI. -
Para aprovisionar recursos informáticos, cambie el directorio a
/cd3user/tenancies/cd3_demo_cli/terraform_files/<region>/compute/
y ejecute los comandos de Terraform.terraform init terraform plan -out tfplan terraform apply tfplan
Verifique los recursos aprovisionados en la consola de OCI.
Tarea 4: Exportar recursos
Tarea 4.1: Agregar plantilla de Excel al contenedor
-
Descargue CD3-Blank-template y agréguela al contenedor en
/cd3user/tenancies/cd3_demo_cli/
.Nota: La carpeta arrendamientos del contenedor cd3 se asigna a la carpeta
/cd3user/mount_path
de la VM de cálculo. Conéctese concd3user
para evitar problemas de permisos. -
Vaya a la carpeta
/cd3user/tenancies/cd3_demo_cli/
y abra el archivocd3_demo_cli_setUpOCI.properties
. -
Agregue la ruta del archivo Excel CD3 en la variable
cd3file
. -
Establezca el parámetro workflow_type en
export_resources
y guarde el archivo.
Tarea 4.2: Ejecución del script setUpOCI.py
-
Cambie el directorio a
cd /cd3user/oci_tools/cd3_automation_toolkit/
y ejecute el scriptsetUpOCI.py
.python setUpOCI.py /cd3user/tenancies/cd3_demo_cli/cd3_demo_cli_setUpOCI.properties
Nota: Si está ejecutando el script por primera vez, seleccione y para la petición de datos Ejecutar script para recuperar los OCID del compartimento en el archivo de variables.
-
Proporcione valores
region
separados por comas si tiene que exportar recursos de varias regiones. Si no se proporciona ningún valor de región, el kit de herramientas exportará recursos de todas las regiones suscritas. -
Seleccione las opciones de recursos que se van a exportar (Red y Recursos informáticos). Puede exportar los recursos solo de compartimentos específicos o de todos los compartimentos. Si el nombre del compartimento no es único, se debe especificar con el siguiente formato en función de la jerarquía.
Parent Compartment::Child Compartment1::Child Compartment2
-
Para exportar solo recursos específicos, escriba los valores de filtro necesarios cuando se le solicite.
Nota: Para obtener más información sobre la exportación de recursos de OCI Networking y recursos de OCI Compute, consulte Exportación de recursos de OCI Networking y Exportación de recursos de OCI Compute.
-
Una vez completados correctamente, los datos de recursos exportados se rellenan en el archivo Excel de entrada. La hoja de Excel actualizada está presente en la carpeta
/cd3user/tenancies/cd3_demo_cli
del contenedor y se debe copiar manualmente en el sistema local mediante el comando scp.scp -i ~/.ssh/id_rsa cd3user@<workvm_ip>:/cd3user/mount_path/cd3_demo_cli/CD3-Blank-template.xlsx /Users/xyz/CD3-export.xlsx
-
Los archivos
.tfvars
y.sh
específicos del servicio con comandos de importación de terraform se generan en las carpetas de servicio respectivas en la carpeta de región:-
/cd3user/tenancies/cd3_demo_cli/terraform_files/<region_dir>/network/
-
/cd3user/tenancies/cd3_demo_cli/terraform_files/<region_dir>/compute/
Para OCI Compute, las claves públicas ssh asociadas se colocan en
variables_<region>.tf
en la variableinstance_ssh_keys
y los OCID de origen se colocan en la variableinstance_source_ocid
. -
Tarea 4.3: Ejecución de los archivos .sh
generados
-
En las carpetas del servicio network y compute, ejecute cada uno de los archivos
.sh
generados que contienen comandos de importación de Terraform.Nota: Para OCI Networking, antes de ejecutar los otros scripts
.sh
, asegúrese de ejecutar el script.sh
para major_objects:sh import_commands_network_major-objects.sh
-
Después de la finalización correcta de los scripts
.sh
, se genera el archivo de estado de Terraform y el plan de terraform se actualiza al último.
Este código de Terraform generado se puede utilizar con OCI Resource Manager o utilizarlo en los procesos de integración y despliegue continuos de la organización para una mayor gestión.
Para agregar nuevos recursos o modificar los existentes, exporte los recursos primero a CD3, realice los cambios necesarios en la plantilla de Excel exportada y, a continuación, en el archivo /cd3user/tenancies/cd3_demo_cli/cd3_demo_cli_setUpOCI.properties
, modifique workflow_type a create_resources
y ejecute el toolkit.
Enlaces relacionados
-
CD3 Kit de herramientas de automatización: creación y gestión del código de Terraform
-
Configuración de CD3 con Jenkins para crear y exportar recursos de Oracle Cloud Infrastructure
Agradecimientos
- Autor: Lasya Vadavalli (ingeniero sénior en la nube)
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en Oracle Learning Explorer.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Configure CD3 Toolkit with CLI to Create and Export Oracle Cloud Infrastructure Resources
F87016-04
September 2024