Nota

Configurare CD3 Toolkit con CLI per creare ed esportare le risorse di Oracle Cloud Infrastructure

Introduzione

Il toolkit di automazione del Cloud Deployment Design Deliverable (CD3) ti consente di creare, esportare e gestire facilmente le risorse Oracle Cloud Infrastructure (OCI) convertendo facilmente i modelli Excel in moduli Terraform completamente funzionali.

Il toolkit supporta anche la gestione trasparente delle risorse utilizzando il servizio DevOps Git OCI e le pipeline Jenkins.

workflow

Obiettivi

Prerequisiti

Task 1: Impostare il contenitore del toolkit

  1. Fare clic su Distribuisci in Oracle Cloud per avviare lo stack di Resource Manager OCI che crea CD3 workVM.

    Deploy_To_OCI

  2. Accettare i termini e le condizioni. Immettere Rete, Compartimento, Nome Virtual Machine (VM), Forma e altri dettagli per workVM.

    Nota: per gestire un ambiente sicuro, fornire un intervallo CIDR di origine specifico per accedere alla VM. Non utilizzare 0.0.0.0/0.

  3. Controllare la sezione Esegui applicazione e fare clic su Crea.

  4. Dopo aver completato il job Applica, fare clic sul job e scorrere verso il basso fino alla fine dei log.

    Trovare i dettagli per la VM creata e i comandi da eseguire per eseguire il login al contenitore del toolkit. L'immagine seguente mostra l'output di esempio.

    output stack rm

    Dopo aver eseguito il login al contenitore, seguire il task 2 e connettersi alla tenancy OCI per eseguire le API OCI.

Task 2: connettere il contenitore alla tenancy OCI

  1. All'interno del contenitore, passare a cd /cd3user/oci_tools/cd3_automation_toolkit/user-scripts/ e aprire il file tenancyconfig.properties.

  2. Aggiungere i valori di configurazione richiesti nelle sezioni Parametri obbligatori e Parametri dettagli di autorizzazione.

    Nota: in questa esercitazione verrà utilizzata l'autenticazione tramite chiave API. Mantenere il valore predefinito auth_mechanism.

  3. Andare alla console OCI, in Impostazioni utente, caricare la chiave pubblica in APIkeys. Posizionare la chiave privata all'interno del contenitore. Copiare i valori di configurazione richiesti e incollarli sotto i parametri corrispondenti nel file tenancyconfig.properties.

  4. Mantenere il valore predefinito per il parametro outdir_structure_file. In questo modo, i file auto.tfvars generati per ciascun servizio verranno raggruppati nella cartella specifica del servizio.

  5. Per lo strumento IaC, è possibile selezionare terraform o tofu. Il valore predefinito è terraform. Per usare OpenTofu, specificare tofu.

    tenancyconfig_properties

    Nota: lasciare la sezione Parametri avanzati per DevOps così com'è perché l'impostazione di Jenkins non rientra nell'ambito di questa esercitazione. Per eseguire il toolkit utilizzando Jenkins, vedere Configurare CD3 con Jenkins per creare ed esportare le risorse Oracle Cloud Infrastructure.

  6. Salvare il file ed eseguire createTenancyConfig.py per inizializzare l'ambiente e iniziare a utilizzare CD3.

    python createTenancyConfig.py tenancyconfig.properties
    
  7. Verificare l'output.

    tenancyconfig_output

    Successivamente, per creare risorse in OCI, seguire il Task 3 e per esportare risorse, seguire il Task 4.

Task 3: Crea risorse

Task 3.1: Preparare file Excel e variabili

  1. Scaricare il modello di Excel precompilato da qui: cd3quickstart.xlsx. Modificare i valori di Area e Compartimento nel foglio in base all'ambiente in uso e tornare al contenitore.

  2. Aggiungere il file Excel all'interno del contenitore in /cd3user/tenancies/cd3_demo_cli/ utilizzando il comando scp riportato di seguito.

    Nota: la cartella tenancy nel contenitore CD3 è mappata alla cartella /cd3user/mount_path nella VM di calcolo. Eseguire il login con cd3user per evitare problemi di autorizzazione.

    scp -i ~/.ssh/id_rsa /Users/xyz/cd3quickstart.xlsx cd3user@<workvm_ip>:/cd3user/mount_path/cd3_demo_cli/cd3quickstart.xlsx
    
  3. Aprire /cd3user/tenancies/cd3_demo_cli/terraform_files/<region>/compute/variables_<region>.tf dal contenitore. Nella variabile instance_ssh_keys, aggiungere il nome della variabile per le chiavi SSH specificate nel foglio di Excel ssh_public_key con il valore corrispondente (contenuto chiave).

    ssh_key

  4. Nella variabile instance_source_ocids includere il nome della variabile specificato nel foglio di Excel per l'immagine di origine myimageocid e assegnare il relativo OCID come valore corrispondente.

    sourceocid

Task 3.2: eseguire lo script setUpOCI.py per generare i file Terraform delle risorse

  1. Aprire il file /cd3user/tenancies/cd3_demo_cli/cd3_demo_cli_setUpOCI.properties e aggiungere il percorso del file Excel CD3 sotto la variabile cd3file. Impostare la variabile workflow_type su create_resources e salvare il file.

    immagine

  2. Spostarsi nella directory in cd /cd3user/oci_tools/cd3_automation_toolkit/ ed eseguire lo script setUpOCI.py.

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

    Nota: se si esegue lo script per la prima volta, selezionare y per il prompt Esegui script per recuperare gli OCID compartimento nel file delle variabili.

    immagine

  3. Selezionare le opzioni Rete e Computazione dal menu di output, quindi selezionare le opzioni secondarie: Crea rete per creare VCN e subnet, Aggiungi/Modifica/Elimina istanze/Criterio di backup di boot per eseguire il provisioning delle istanze.

  4. Spostarsi nella directory /cd3user/tenancies/cd3_demo_cli/terraform_files/<region>/network/. Eseguire i comandi Terraform per eseguire il provisioning delle risorse di rete.

    terraform init
    terraform plan -out tfplan
    terraform apply tfplan
    
  5. Crea rete crea poche regole nella VCN che non sono ancora presenti nel foglio di Excel CD3 (dato che questi dettagli vengono inizialmente presi dalla scheda Subnet). Per sincronizzarli con il file Excel, eseguire di nuovo lo script setUpOCI utilizzando lo stesso foglio Excel di cui sopra. Assicurarsi che il workflow sia impostato su Crea risorse nel file cd3_demo_cli_setUpOCI.properties. Selezionare Rete sotto le opzioni principali, quindi le opzioni secondarie riportate di seguito.

    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. Al termine dell'operazione, i fogli DRGRouteRulesinOCI, RouteRulesinOCI e SecRulesinOCI nel modello Excel verranno popolati con i dati corrispondenti e i file cd3_demo_cli_seclists.auto.tfvars, cd3_demo_cli_routetables.auto.tfvars e cd3_demo_cli_drg-routetables.auto.tfvars verranno generati nella cartella /cd3user/tenancies/cd3_demo_cli/terraform_files/<region_dir>/<service_dir>.

  7. Verificare terraform plan e terraform apply. L'esecuzione dell'applicazione terraform completa l'esportazione di regole di sicurezza, regole di instradamento e regole di instradamento DRG da OCI. Ora, lo stato terraform deve essere sincronizzato con OCI.

  8. Per eseguire il provisioning delle risorse di computazione, modificare la directory in /cd3user/tenancies/cd3_demo_cli/terraform_files/<region>/compute/ ed eseguire i comandi Terraform.

    terraform init
    terraform plan -out tfplan
    terraform apply tfplan
    

    Verificare le risorse di cui è stato eseguito il provisioning nella console OCI.

Task 4: Esporta risorse

Task 4.1: Aggiungi modello Excel al contenitore

  1. Scaricare CD3-Blank-template e aggiungerlo al contenitore all'indirizzo /cd3user/tenancies/cd3_demo_cli/.

    Nota: la cartella tenancy nel contenitore cd3 è mappata alla cartella /cd3user/mount_path nella VM di calcolo. Eseguire il login con cd3user per evitare problemi di autorizzazione.

  2. Passare alla cartella /cd3user/tenancies/cd3_demo_cli/ e aprire il file cd3_demo_cli_setUpOCI.properties.

  3. Aggiungere il percorso del file di Excel CD3 nella variabile cd3file.

  4. Impostare il parametro workflow_type su export_resources e salvare il file.

Task 4.2: eseguire lo script setUpOCI.py

  1. Spostarsi nella directory in cd /cd3user/oci_tools/cd3_automation_toolkit/ ed eseguire lo script setUpOCI.py.

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

    Nota: se si esegue lo script per la prima volta, selezionare y per il prompt Esegui script per recuperare gli OCID compartimento nel file delle variabili.

    immagine

  2. Fornire valori region separati da virgole se è necessario esportare risorse da più aree. Se non viene fornito alcun valore per l'area, il toolkit esporterà le risorse da tutte le aree sottoscritte.

  3. Selezionare le opzioni di risorsa da esportare (Rete e Computazione). Puoi scegliere di esportare le risorse solo da compartimenti specifici o da tutti i compartimenti. Se il nome del compartimento non è univoco, deve essere specificato nel seguente formato in base alla gerarchia.

    Parent Compartment::Child Compartment1::Child Compartment2
    
  4. Per esportare solo risorse specifiche, immettere i valori di filtro richiesti quando richiesto.

    Nota: per ulteriori informazioni sull'esportazione delle risorse di networking OCI e di OCI Compute, vedere Esportare le risorse di networking OCI ed Esportare le risorse di OCI Compute.

  5. Al termine dell'operazione, i dati delle risorse esportate vengono inseriti nel file di Excel di input. Il foglio Excel aggiornato è presente nella cartella /cd3user/tenancies/cd3_demo_cli all'interno del contenitore e deve essere copiato manualmente nel sistema locale utilizzando il 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. I file .tfvars e .sh specifici del servizio con comandi di importazione terraform vengono generati all'interno delle rispettive cartelle del servizio nella cartella dell'area:

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

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

    Per OCI Compute, le chiavi pubbliche SSH associate vengono posizionate in variables_<region>.tf sotto la variabile instance_ssh_keys e gli OCID di origine vengono posizionati sotto la variabile instance_source_ocid.

Task 4.3: eseguire i file .sh generati

  1. Nelle cartelle del servizio network e compute, eseguire ognuno dei file .sh generati contenenti i comandi di importazione Terraform.

    Nota: per OCI Networking, prima di eseguire gli altri script .sh, assicurarsi di eseguire lo script .sh per major_objects: sh import_commands_network_major-objects.sh

  2. Dopo aver completato correttamente gli script .sh, viene generato il file di stato Terraform e il piano terraform viene aggiornato alla versione più recente.

Questo codice Terraform generato può essere utilizzato con OCI Resource Manager o utilizzato dai processi CI/CD dell'organizzazione per un'ulteriore gestione.

Per aggiungere nuove risorse o modificare quelle esistenti, esportare prima le risorse in CD3, apportare le modifiche necessarie nel modello di Excel esportato, quindi nel file /cd3user/tenancies/cd3_demo_cli/cd3_demo_cli_setUpOCI.properties modificare workflow_type in create_resources ed eseguire il toolkit.

Conferme

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti gratuiti sulla formazione su Oracle Learning YouTube channel. Inoltre, visita education.oracle.com/learning-explorer per diventare un Oracle Learning Explorer.

Per la documentazione del prodotto, visita l'Oracle Help Center.