Observação:

Configurar o Kit de Ferramentas CD3 com a CLI para Criar e Exportar Recursos do Oracle Cloud Infrastructure

Introdução

O kit de ferramentas de automação do Cloud Deployment Design Deliverable (CD3) permite que você crie, exporte e gerencie facilmente recursos da Oracle Cloud Infrastructure (OCI) convertendo facilmente modelos do Excel em módulos Terraform totalmente funcionais.

O kit de ferramentas também suporta gerenciamento contínuo de recursos usando o serviço OCI DevOps Git e os pipelines Jenkins.

workflow

Objetivos

Pré-requisitos

Tarefa 1: Configurar o Contêiner do Kit de Ferramentas

  1. Clique em Implantar no Oracle Cloud para iniciar a pilha do OCI Resource Manager que cria o CD3 workVM.

    Deploy_To_OCI

  2. Aceite os termos e as condições. Informe a Rede, o Compartimento, o Nome da Máquina Virtual (VM), a Forma e outros detalhes do workVM.

    Observação: Para manter um ambiente seguro, forneça uma faixa CIDR de origem específica para acessar a VM. Não use 0.0.0.0/0.

  3. Verifique a seção Executar Aplicação e clique em Criar.

  4. Depois que o job Aplicar for bem-sucedido, clique no job e role para baixo até o final dos logs.

    Localize os detalhes da VM criada e os comandos a serem executados para fazer log-in no contêiner do kit de ferramentas. A imagem a seguir mostra o exemplo de saída.

    rmstackoutput

    Depois de fazer log-in no contêiner, siga a Tarefa 2 e conecte-se à tenancy do OCI para executar as APIs do OCI.

Tarefa 2: Conectar o Contêiner à Tenancy do OCI

  1. Dentro do contêiner, navegue até cd /cd3user/oci_tools/cd3_automation_toolkit/user-scripts/ e abra o arquivo tenancyconfig.properties.

  2. Adicione os valores de configuração necessários nas seções Parâmetros obrigatórios e Parâmetros de Detalhes da Autorização.

    Observação: Neste tutorial, usaremos a autenticação de chave de API. Mantenha auth_mechanism em seu valor padrão.

  3. Vá para a Console do OCI, em Definições do usuário, faça upload da chave pública para APIkeys. Coloque a chave privada dentro do contêiner. Copie os valores de configuração necessários e cole sob os parâmetros correspondentes no arquivo tenancyconfig.properties.

  4. Mantenha o valor padrão para o parâmetro outdir_structure_file. Isso agrupará os arquivos auto.tfvars gerados para cada serviço em sua pasta específica de serviço.

  5. Para a ferramenta IaC, é possível selecionar terraform ou tofu. O padrão é terraform. Para usar OpenTofu, especifique tofu.

    tenancyconfig_properties

    Observação: deixe a seção Parâmetros Avançados para DevOps como está, pois a configuração do Jenkins não está no escopo deste tutorial. Para executar o kit de ferramentas usando o Jenkins, consulte Configurar CD3 com o Jenkins para Criar e Exportar Recursos do Oracle Cloud Infrastructure.

  6. Salve o arquivo e execute createTenancyConfig.py para inicializar o ambiente e começar a usar CD3.

    python createTenancyConfig.py tenancyconfig.properties
    
  7. Verifique a saída.

    tenancyconfig_output

    Em seguida, para criar recursos no OCI, siga a Tarefa 3 e para exportar recursos, siga a Tarefa 4.

Tarefa 3: Criar Recursos

Tarefa 3.1: Preparar Arquivo do Excel e Variáveis

  1. Faça download do modelo do Excel pré-preenchido aqui: cd3quickstart.xlsx. Modifique os valores de Região e Compartimento na planilha com base em seu ambiente e volte para o contêiner.

  2. Adicione o arquivo do Excel dentro do contêiner em /cd3user/tenancies/cd3_demo_cli/ usando o comando scp abaixo.

    Observação: A pasta tenancies no contêiner CD3 é mapeada para a pasta /cd3user/mount_path na VM de computação. Faça log-in com cd3user para evitar problemas de permissão.

    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 no contêiner. Em variável instance_ssh_keys, adicione o nome da variável para chaves SSH especificadas na planilha do Excel ssh_public_key com seu valor correspondente (conteúdo da chave).

    ssh_key

  4. Na variável instance_source_ocids, inclua o nome da variável especificado na planilha do Excel para a imagem de origem myimageocid e designe seu OCID como o valor correspondente.

    códigos-fonte

Tarefa 3.2: Executar o Script setUpOCI.py para Gerar Arquivos do Terraform do Recurso

  1. Abra o arquivo /cd3user/tenancies/cd3_demo_cli/cd3_demo_cli_setUpOCI.properties e adicione o caminho do arquivo do Excel CD3 na variável cd3file. Defina a variável workflow_type como create_resources e salve o arquivo.

    image

  2. Altere o diretório para cd /cd3user/oci_tools/cd3_automation_toolkit/ e execute o script setUpOCI.py.

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

    Observação: Se você estiver executando o script pela primeira vez, selecione y para o prompt Executar Script para extrair os OCIDs do compartimento no arquivo de variáveis.

    image

  3. Selecione as opções Rede e Computação no menu de saída e, em seguida, selecione as subopções: Criar Rede para criar VCN e sub-redes, Adicionar/Modificar/Excluir Instâncias/Política de Backup de Inicialização para provisionar instâncias.

  4. Altere o diretório para /cd3user/tenancies/cd3_demo_cli/terraform_files/<region>/network/. Execute comandos do Terraform para provisionar os recursos de rede.

    terraform init
    terraform plan -out tfplan
    terraform apply tfplan
    
  5. Criar Rede cria algumas regras na VCN que ainda não estão presentes na planilha do Excel CD3 (já que esses detalhes são inicialmente extraídos da guia sub-redes). Para sincronizá-los com o arquivo do Excel, execute o script setUpOCI novamente usando a mesma planilha do Excel como acima. Certifique-se de que o workflow esteja definido como Criar Recursos no arquivo cd3_demo_cli_setUpOCI.properties. Selecione Rede nas opções principais e, em seguida, nas subopções abaixo.

    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. Depois de concluídas com sucesso, as planilhas DRGRouteRulesinOCI, RouteRulesinOCI e SecRulesinOCI no modelo do Excel serão preenchidas com os dados correspondentes e os arquivos cd3_demo_cli_seclists.auto.tfvars, cd3_demo_cli_routetables.auto.tfvars e cd3_demo_cli_drg-routetables.auto.tfvars serão gerados na pasta /cd3user/tenancies/cd3_demo_cli/terraform_files/<region_dir>/<service_dir>.

  7. Verifique terraform plan e terraform apply. A execução da aplicação terraform conclui a exportação de regras de segurança, regras de roteamento e regras de roteamento do DRG do OCI. Agora, o estado terraform deve estar em sincronia com o OCI.

  8. Para provisionar recursos de computação, altere o diretório para /cd3user/tenancies/cd3_demo_cli/terraform_files/<region>/compute/ e execute os comandos do Terraform.

    terraform init
    terraform plan -out tfplan
    terraform apply tfplan
    

    Verifique os recursos provisionados na Console do OCI.

Tarefa 4: Exportar Recursos

Tarefa 4.1: Adicionar Modelo do Excel ao Contêiner

  1. Faça download de CD3-Blank-template e adicione-o ao contêiner em /cd3user/tenancies/cd3_demo_cli/.

    Observação: A pasta tenancies no contêiner cd3 é mapeada para a pasta /cd3user/mount_path na VM de computação. Faça log-in com cd3user para evitar problemas de permissão.

  2. Navegue até a pasta /cd3user/tenancies/cd3_demo_cli/ e abra o arquivo cd3_demo_cli_setUpOCI.properties.

  3. Adicione o caminho do arquivo do Excel CD3 na variável cd3file.

  4. Defina o parâmetro workflow_type como export_resources e salve o arquivo.

Tarefa 4.2: Executar o Script setUpOCI.py

  1. Altere o diretório para cd /cd3user/oci_tools/cd3_automation_toolkit/ e execute o script setUpOCI.py.

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

    Observação: Se você estiver executando o script pela primeira vez, selecione y para o prompt Executar Script para extrair os OCIDs do compartimento no arquivo de variáveis.

    image

  2. Forneça valores region separados por vírgulas se precisar exportar recursos de várias regiões. Se nenhum valor de região for fornecido, o kit de ferramentas exportará recursos de todas as regiões inscritas.

  3. Selecione as opções de recurso a serem exportadas (Rede e Computação). Você pode optar por exportar os recursos apenas de compartimentos específicos ou de todos os compartimentos. Se o nome do compartimento não for exclusivo, ele deverá ser especificado no formato a seguir com base na hierarquia.

    Parent Compartment::Child Compartment1::Child Compartment2
    
  4. Para exportar somente recursos específicos, informe os valores de filtro necessários quando solicitado.

    Observação: Para obter mais informações sobre como exportar recursos do OCI Networking e recursos do OCI Compute, consulte Exportar Recursos do OCI Networking e Exportar Recursos do OCI Compute.

  5. Após a conclusão bem-sucedida, os dados do recurso exportado são preenchidos no arquivo de entrada do Excel. A planilha do Excel atualizada está presente na pasta /cd3user/tenancies/cd3_demo_cli dentro do contêiner e precisa ser copiada manualmente para o sistema local usando o 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. Os arquivos .tfvars e .sh específicos do serviço com comandos de importação terraform são gerados nas respectivas pastas de serviço na pasta de região:

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

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

    Para o OCI Compute, as chaves públicas ssh associadas são colocadas em variables_<region>.tf sob a variável instance_ssh_keys e os OCIDs de origem são colocados sob a variável instance_source_ocid.

Tarefa 4.3: Executar os arquivos .sh Gerados

  1. Nas pastas de serviço network e compute, execute cada um dos arquivos .sh gerados que contêm comandos de importação do Terraform.

    Observação: Para o OCI Networking, antes de executar os outros scripts .sh, certifique-se de executar o script .sh para major_objects: sh import_commands_network_major-objects.sh

  2. Após a conclusão bem-sucedida dos scripts .sh, o arquivo de estado do Terraform é gerado e o plano terraform é atualizado para o mais recente.

Esse código Terraform gerado pode ser usado com o OCI Resource Manager ou aproveitado pelos processos de CI/CD da organização para gerenciamento adicional.

Para adicionar novos recursos ou modificar os existentes, exporte os recursos primeiro para CD3, faça as alterações necessárias no modelo do Excel exportado e, em seguida, no arquivo /cd3user/tenancies/cd3_demo_cli/cd3_demo_cli_setUpOCI.properties, modifique workflow_type para create_resources e execute o kit de ferramentas.

Agradecimentos

Mais Recursos de Aprendizagem

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.