Note:

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.

Flujo de Trabajo

Objetivos

Requisitos

Tarea 1: Configuración del contenedor del kit de herramientas

  1. Haga clic en Desplegar en Oracle Cloud para iniciar la pila de OCI Resource Manager que crea CD3 workVM.

    Deploy_To_OCI

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

  3. Compruebe la sección Run Apply (Ejecutar aplicación) y haga clic en Create (Crear).

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

    salida de pila de red

    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

  1. Dentro del contenedor, vaya a cd /cd3user/oci_tools/cd3_automation_toolkit/user-scripts/ y abra el archivo tenancyconfig.properties.

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

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

  4. Mantenga el valor por defecto para el parámetro outdir_structure_file. Esto agrupará los archivos auto.tfvars generados para cada servicio en la carpeta específica del servicio.

  5. Para la herramienta IaC, se puede seleccionar terraform o tofu. El valor por defecto es terraform. Para utilizar OpenTofu, especifique tofu.

    tenancyconfig_properties

    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.

  6. Guarde el archivo y ejecute createTenancyConfig.py para inicializar el entorno y empezar a utilizar CD3.

    python createTenancyConfig.py tenancyconfig.properties
    
  7. Verifique la salida.

    tenancyconfig_output

    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

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

  2. 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 con cd3user 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
    
  3. Abra /cd3user/tenancies/cd3_demo_cli/terraform_files/<region>/compute/variables_<region>.tf desde el contenedor. En la variable instance_ssh_keys, agregue el nombre de la variable para las claves SSH especificadas en la hoja de Excel ssh_public_key con su valor correspondiente (contenido de clave).

    ssh_key

  4. En la variable instance_source_ocids, incluya el nombre de variable especificado en la hoja de Excel para la imagen de origen myimageocid y asigne su OCID como valor correspondiente.

    sourceocids

Tarea 3.2: Ejecución del script setUpOCI.py para generar archivos de Terraform de recursos

  1. 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 variable cd3file. Defina la variable workflow_type en create_resources y guarde el archivo.

    image

  2. Cambie el directorio a cd /cd3user/oci_tools/cd3_automation_toolkit/ y ejecute el script setUpOCI.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.

    image

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

  4. 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
    
  5. 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 archivo cd3_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)
    
  6. Una vez realizadas correctamente, las hojas DRGRouteRulesinOCI, RouteRulesinOCI y SecRulesinOCI de la plantilla de Excel se rellenarán con los datos correspondientes y se generarán los archivos cd3_demo_cli_seclists.auto.tfvars, cd3_demo_cli_routetables.auto.tfvars y cd3_demo_cli_drg-routetables.auto.tfvars en la carpeta /cd3user/tenancies/cd3_demo_cli/terraform_files/<region_dir>/<service_dir>.

  7. Verifique terraform plan y terraform 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.

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

  1. 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 con cd3user para evitar problemas de permisos.

  2. Vaya a la carpeta /cd3user/tenancies/cd3_demo_cli/ y abra el archivo cd3_demo_cli_setUpOCI.properties.

  3. Agregue la ruta del archivo Excel CD3 en la variable cd3file.

  4. Establezca el parámetro workflow_type en export_resources y guarde el archivo.

Tarea 4.2: Ejecución del script setUpOCI.py

  1. Cambie el directorio a cd /cd3user/oci_tools/cd3_automation_toolkit/ y ejecute el script setUpOCI.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.

    image

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

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

  5. 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
    
  6. 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 variable instance_ssh_keys y los OCID de origen se colocan en la variable instance_source_ocid.

Tarea 4.3: Ejecución de los archivos .sh generados

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

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

Agradecimientos

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.