Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever em uma conta gratuita, consulte Conceitos básicos do Oracle Cloud Infrastructure Free Tier.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
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.
Objetivos
-
Inicie a pilha do gerenciador de recursos de contêiner CD3 com um único clique e crie recursos do OCI Networking e do OCI Compute usando a CLI CD3.
-
Exporte recursos do OCI Networking e do OCI Compute usando a CLI CD3.
Pré-requisitos
-
Política do Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) para permitir que o usuário ou o controlador de instâncias gerenciem os serviços necessários para serem criados ou exportados usando o kit de ferramentas.
-
O usuário que implanta a pilha deve ter acesso para iniciar a pilha do OCI Resource Manager, a instância do OCI Compute e os recursos do OCI Networking.
Tarefa 1: Configurar o Contêiner do Kit de Ferramentas
-
Clique em Implantar no Oracle Cloud para iniciar a pilha do OCI Resource Manager que cria o CD3 workVM.
-
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
. -
Verifique a seção Executar Aplicação e clique em Criar.
-
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.
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
-
Dentro do contêiner, navegue até
cd /cd3user/oci_tools/cd3_automation_toolkit/user-scripts/
e abra o arquivotenancyconfig.properties
. -
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. -
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
. -
Mantenha o valor padrão para o parâmetro
outdir_structure_file
. Isso agrupará os arquivosauto.tfvars
gerados para cada serviço em sua pasta específica de serviço. -
Para a ferramenta IaC, é possível selecionar terraform ou tofu. O padrão é terraform. Para usar OpenTofu, especifique tofu.
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.
-
Salve o arquivo e execute
createTenancyConfig.py
para inicializar o ambiente e começar a usar CD3.python createTenancyConfig.py tenancyconfig.properties
-
Verifique a saída.
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
-
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.
-
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 comcd3user
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
-
Abra
/cd3user/tenancies/cd3_demo_cli/terraform_files/<region>/compute/variables_<region>.tf
no contêiner. Em variávelinstance_ssh_keys
, adicione o nome da variável para chaves SSH especificadas na planilha do Excelssh_public_key
com seu valor correspondente (conteúdo da chave). -
Na variável
instance_source_ocids
, inclua o nome da variável especificado na planilha do Excel para a imagem de origemmyimageocid
e designe seu OCID como o valor correspondente.
Tarefa 3.2: Executar o Script setUpOCI.py
para Gerar Arquivos do Terraform do Recurso
-
Abra o arquivo
/cd3user/tenancies/cd3_demo_cli/cd3_demo_cli_setUpOCI.properties
e adicione o caminho do arquivo do Excel CD3 na variávelcd3file
. Defina a variável workflow_type comocreate_resources
e salve o arquivo. -
Altere o diretório para
cd /cd3user/oci_tools/cd3_automation_toolkit/
e execute o scriptsetUpOCI.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.
-
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.
-
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
-
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 arquivocd3_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)
-
Depois de concluídas com sucesso, as planilhas
DRGRouteRulesinOCI
,RouteRulesinOCI
eSecRulesinOCI
no modelo do Excel serão preenchidas com os dados correspondentes e os arquivoscd3_demo_cli_seclists.auto.tfvars
,cd3_demo_cli_routetables.auto.tfvars
ecd3_demo_cli_drg-routetables.auto.tfvars
serão gerados na pasta/cd3user/tenancies/cd3_demo_cli/terraform_files/<region_dir>/<service_dir>
. -
Verifique
terraform plan
eterraform 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. -
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
-
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 comcd3user
para evitar problemas de permissão. -
Navegue até a pasta
/cd3user/tenancies/cd3_demo_cli/
e abra o arquivocd3_demo_cli_setUpOCI.properties
. -
Adicione o caminho do arquivo do Excel CD3 na variável
cd3file
. -
Defina o parâmetro workflow_type como
export_resources
e salve o arquivo.
Tarefa 4.2: Executar o Script setUpOCI.py
-
Altere o diretório para
cd /cd3user/oci_tools/cd3_automation_toolkit/
e execute o scriptsetUpOCI.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.
-
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. -
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
-
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.
-
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
-
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ávelinstance_ssh_keys
e os OCIDs de origem são colocados sob a variávelinstance_source_ocid
. -
Tarefa 4.3: Executar os arquivos .sh
Gerados
-
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
-
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.
Links Relacionados
-
CD3 Kit de ferramentas de automação: Criar e gerenciar código Terraform
-
Configurar CD3 com o Jenkins para Criar e Exportar Recursos do Oracle Cloud Infrastructure
Agradecimentos
- Autor - Lasya Vadavalli (Engenheira Sênior de Nuvem)
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.
Configure CD3 Toolkit with CLI to Create and Export Oracle Cloud Infrastructure Resources
F87014-04
September 2024