Hinweis:

CD3-Toolkit mit CLI zum Erstellen und Exportieren von Oracle Cloud Infrastructure-Ressourcen konfigurieren

Einführung

Mit dem Automatisierungstoolkit für Cloud Deployment Design Deliverable (CD3) können Sie Oracle Cloud Infrastructure-(OCI-)Ressourcen mühelos erstellen, exportieren und verwalten, indem Sie Excel-Vorlagen einfach in voll funktionsfähige Terraform-Module konvertieren.

Das Toolkit unterstützt auch eine nahtlose Ressourcenverwaltung mit dem OCI DevOps Git-Service und den Jenkins-Pipelines.

Workflow

Ziele

Voraussetzungen

Aufgabe 1: Toolkit-Container einrichten

  1. Klicken Sie auf In Oracle Cloud bereitstellen, um den OCI Resource Manager-Stack zu starten, der die CD3 workVM erstellt.

    Deploy_To_OCI

  2. Akzeptieren Sie die Geschäftsbedingungen. Geben Sie Netzwerk, Compartment, Virtual Machine-(VM-)Name, Ausprägung und andere Details für die workVM ein.

    Hinweis: Um eine sichere Umgebung zu verwalten, geben Sie einen bestimmten Quell-CIDR-Bereich für den Zugriff auf die VM an. Verwenden Sie nicht 0.0.0.0/0.

  3. Prüfen Sie den Abschnitt Anwenden ausführen, und klicken Sie auf Erstellen.

  4. Nachdem der Job Anwenden erfolgreich war, klicken Sie auf den Job, und scrollen Sie zum Ende der Logs nach unten.

    Suchen Sie die Details für die erstellte VM und Befehle, die für die Anmeldung beim Toolkit-Container ausgeführt werden sollen. Die folgende Abbildung zeigt die Beispielausgabe.

    rmstackoutput

    Nachdem Sie sich beim Container angemeldet haben, befolgen Sie Aufgabe 2, und stellen Sie eine Verbindung zum OCI-Mandanten her, um die OCI-APIs auszuführen.

Aufgabe 2: Container mit OCI-Mandanten verbinden

  1. Navigieren Sie im Container zu cd /cd3user/oci_tools/cd3_automation_toolkit/user-scripts/, und öffnen Sie die Datei tenancyconfig.properties .

  2. Fügen Sie die erforderlichen Konfigurationswerte in den Abschnitten Erforderliche Parameter und Parameter für Authentifizierungsdetails hinzu.

    Hinweis: In diesem Tutorial wird die API-Schlüsselauthentifizierung verwendet. Behalten Sie für auth_mechanism den Standardwert bei.

  3. Gehen Sie zur OCI-Konsole, und laden Sie unter Benutzereinstellungen den Public Key in APIkeys hoch. Legen Sie den Private Key in den Container. Kopieren Sie die erforderlichen Konfigurationswerte, und fügen Sie sie unter den entsprechenden Parametern in der Datei tenancyconfig.properties ein.

  4. Behalten Sie den Standardwert für den Parameter outdir_structure_file bei. Dadurch werden die generierten auto.tfvars-Dateien für jeden Service unter seinem servicespezifischen Ordner gruppiert.

  5. Für das Tool IaC kann terraform oder tofu ausgewählt werden. Der Standardwert ist Terraform. Um OpenTofu zu verwenden, geben Sie tofu an.

    tenancyconfig_properties

    Hinweis: Lassen Sie den Abschnitt Erweiterte Parameter für DevOps unverändert, da das Setup von Jenkins nicht im Geltungsbereich dieses Tutorials liegt. Informationen zum Ausführen des Toolkits mit Jenkins finden Sie unter Jenkins mit CD3 zum Erstellen und Exportieren von Oracle Cloud Infrastructure-Ressourcen konfigurieren.

  6. Speichern Sie die Datei, und führen Sie createTenancyConfig.py aus, um die Umgebung zu initialisieren und mit CD3 zu beginnen.

    python createTenancyConfig.py tenancyconfig.properties
    
  7. Prüfen Sie die Ausgabe.

    tenancyconfig_output

    Um als Nächstes Ressourcen in OCI zu erstellen, befolgen Sie Aufgabe 3, und exportieren Sie Ressourcen wie in Aufgabe 4 beschrieben.

Aufgabe 3: Ressourcen erstellen

Aufgabe 3.1: Excel- und Variablendatei vorbereiten

  1. Laden Sie die vorausgefüllte Excel-Vorlage von hier herunter: cd3quickstart.xlsx. Ändern Sie die Werte Region und Compartment im Blatt basierend auf Ihrer Umgebung, und wechseln Sie zum Container zurück.

  2. Fügen Sie die Excel-Datei im Container unter /cd3user/tenancies/cd3_demo_cli/ mit dem folgenden scp-Befehl hinzu.

    Hinweis: Der Ordner Mandanten im Container CD3 wird dem Ordner /cd3user/mount_path in der Compute-VM zugeordnet. Melden Sie sich mit cd3user an, um Berechtigungsprobleme zu vermeiden.

    scp -i ~/.ssh/id_rsa /Users/xyz/cd3quickstart.xlsx cd3user@<workvm_ip>:/cd3user/mount_path/cd3_demo_cli/cd3quickstart.xlsx
    
  3. Öffnen Sie /cd3user/tenancies/cd3_demo_cli/terraform_files/<region>/compute/variables_<region>.tf aus dem Container. Fügen Sie unter der Variable instance_ssh_keys den Variablennamen für SSH-Schlüssel hinzu, der in der Excel-Tabelle ssh_public_key mit dem entsprechenden Wert (Schlüsselinhalt) angegeben ist.

    ssh_key

  4. Fügen Sie unter der Variablen instance_source_ocids den Variablennamen ein, der in der Excel-Tabelle für das Quellimage myimageocid angegeben ist, und weisen Sie dessen OCID als entsprechenden Wert zu.

    Quellcodes

Aufgabe 3.2: Skript setUpOCI.py ausführen, um Terraform-Ressourcendateien zu generieren

  1. Öffnen Sie die Datei /cd3user/tenancies/cd3_demo_cli/cd3_demo_cli_setUpOCI.properties, und fügen Sie den Pfad der Excel-Datei CD3 unter der Variablen cd3file hinzu. Setzen Sie die Variable workflow_type auf create_resources, und speichern Sie die Datei.

    image

  2. Wechseln Sie in das Verzeichnis cd /cd3user/oci_tools/cd3_automation_toolkit/, und führen Sie das Skript setUpOCI.py aus.

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

    Hinweis: Wenn Sie das Skript zum ersten Mal ausführen, wählen Sie y für den Prompt Skript ausführen, um die Compartment-OCIDs in die Variablendatei abzurufen aus.

    image

  3. Wählen Sie im Ausgabemenü die Optionen Netzwerk und Compute aus, und wählen Sie dann die Unteroptionen Netzwerk erstellen aus, um VCN und Subnetze zu erstellen, Instanzen hinzufügen/ändern/löschen/Bootbackup-Policy, um Instanzen bereitzustellen.

  4. Wechseln Sie zum Verzeichnis /cd3user/tenancies/cd3_demo_cli/terraform_files/<region>/network/. Führen Sie Terraform-Befehle aus, um die Netzwerkressourcen bereitzustellen.

    terraform init
    terraform plan -out tfplan
    terraform apply tfplan
    
  5. Netzwerk erstellen erstellt einige Regeln im VCN, die noch nicht in der Excel-Tabelle CD3 vorhanden sind (da diese Details ursprünglich aus der Registerkarte "Subnetze" übernommen werden). Um sie mit der Excel-Datei zu synchronisieren, führen Sie das Skript setUpOCI erneut mit derselben Excel-Tabelle wie oben aus. Stellen Sie sicher, dass der Workflow in der Datei cd3_demo_cli_setUpOCI.properties auf Ressourcen erstellen gesetzt ist. Wählen Sie unter den Hauptoptionen die Option Netzwerk und anschließend die folgenden Unteroptionen aus.

    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. Nach erfolgreicher Ausführung werden die Blätter DRGRouteRulesinOCI, RouteRulesinOCI und SecRulesinOCI in der Excel-Vorlage mit den entsprechenden Daten aufgefüllt, und die Dateien cd3_demo_cli_seclists.auto.tfvars, cd3_demo_cli_routetables.auto.tfvars und cd3_demo_cli_drg-routetables.auto.tfvars werden im Ordner /cd3user/tenancies/cd3_demo_cli/terraform_files/<region_dir>/<service_dir> generiert.

  7. Prüfen Sie terraform plan und terraform apply. Durch die Ausführung von terraform apply wird der Export von Sicherheitsregeln, Routingregeln und DRG-Routingregeln aus OCI abgeschlossen. Jetzt sollte der Terraform-Status mit OCI synchronisiert sein.

  8. Um Compute-Ressourcen bereitzustellen, wechseln Sie zum Verzeichnis /cd3user/tenancies/cd3_demo_cli/terraform_files/<region>/compute/, und führen Sie die Terraform-Befehle aus.

    terraform init
    terraform plan -out tfplan
    terraform apply tfplan
    

    Prüfen Sie die bereitgestellten Ressourcen in der OCI-Konsole.

Aufgabe 4: Ressourcen exportieren

Aufgabe 4.1: Excel-Vorlage zum Container hinzufügen

  1. Laden Sie CD3-Leer-Vorlage herunter, und fügen Sie sie dem Container unter /cd3user/tenancies/cd3_demo_cli/ hinzu.

    Hinweis: Der Ordner Mandanten im Container cd3 wird dem Ordner /cd3user/mount_path in der Compute-VM zugeordnet. Melden Sie sich mit cd3user an, um Berechtigungsprobleme zu vermeiden.

  2. Navigieren Sie zum Ordner /cd3user/tenancies/cd3_demo_cli/, und öffnen Sie die Datei cd3_demo_cli_setUpOCI.properties.

  3. Fügen Sie den Excel-Dateipfad CD3 unter der Variablen cd3file hinzu.

  4. Setzen Sie den Parameter workflow_type auf export_resources, und speichern Sie die Datei.

Aufgabe 4.2: Skript setUpOCI.py ausführen

  1. Wechseln Sie in das Verzeichnis cd /cd3user/oci_tools/cd3_automation_toolkit/, und führen Sie das Skript setUpOCI.py aus.

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

    Hinweis: Wenn Sie das Skript zum ersten Mal ausführen, wählen Sie y als Prompt Skript ausführen, um die Compartment-OCIDs in die Variablendatei abzurufen aus.

    image

  2. Geben Sie durch Komma getrennte region-Werte an, wenn Sie Ressourcen aus mehreren Regionen exportieren müssen. Wenn kein Regionswert angegeben ist, exportiert das Toolkit Ressourcen aus allen abonnierten Regionen.

  3. Wählen Sie die zu exportierenden Ressourcenoptionen (Netzwerk und Compute). Sie können die Ressourcen nur aus bestimmten Compartments oder allen Compartments exportieren. Wenn der Compartment-Name nicht eindeutig ist, muss er basierend auf der Hierarchie im folgenden Format angegeben werden.

    Parent Compartment::Child Compartment1::Child Compartment2
    
  4. Um nur bestimmte Ressourcen zu exportieren, geben Sie die erforderlichen Filterwerte ein, wenn Sie dazu aufgefordert werden.

    Hinweis: Weitere Informationen zum Exportieren von OCI-Netzwerkressourcen und OCI-Compute-Ressourcen finden Sie unter OCI-Netzwerkressourcen exportieren und OCI-Compute-Ressourcen exportieren.

  5. Nach erfolgreichem Abschluss werden die exportierten Ressourcendaten in die Excel-Eingabedatei eingetragen. Das aktualisierte Excel-Blatt befindet sich im Ordner /cd3user/tenancies/cd3_demo_cli im Container und muss manuell mit dem Befehl scp in das lokale System kopiert werden.

    scp -i ~/.ssh/id_rsa cd3user@<workvm_ip>:/cd3user/mount_path/cd3_demo_cli/CD3-Blank-template.xlsx /Users/xyz/CD3-export.xlsx
    
  6. Servicespezifische .tfvars- und .sh-Dateien mit terraform-Importbefehlen werden in den jeweiligen Serviceordnern unter dem Regionsordner generiert:

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

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

    Bei OCI Compute werden die zugehörigen SSH-Public Keys unter der Variablen instance_ssh_keys in variables_<region>.tf platziert, und die Quell-OCIDs werden unter der Variablen instance_source_ocid platziert.

Aufgabe 4.3: Generierte .sh-Dateien ausführen

  1. Führen Sie in den Ordnern des Netzwerk- und Compute-Service jede der generierten .sh-Dateien aus, die Terraform-Importbefehle enthalten.

    Hinweis: Stellen Sie bei OCI Networking sicher, dass Sie vor der Ausführung der anderen .sh-Skripte das Skript .sh für major_objects ausführen: sh import_commands_network_major-objects.sh

  2. Nach erfolgreichem Abschluss der .sh-Skripte wird die Terraform-Statusdatei generiert, und der Terraformplan wird auf den neuesten Stand gebracht.

Dieser generierte Terraform-Code kann mit OCI Resource Manager verwendet oder von den CI/CD-Prozessen der Organisation zur weiteren Verwaltung genutzt werden.

Um neue Ressourcen hinzuzufügen oder vorhandene zu ändern, exportieren Sie die Ressourcen zuerst in CD3, nehmen die erforderlichen Änderungen in der exportierten Excel-Vorlage vor, und ändern Sie dann in der Datei /cd3user/tenancies/cd3_demo_cli/cd3_demo_cli_setUpOCI.properties die Datei workflow_type in create_resources, und führen Sie das Toolkit aus.

Danksagungen

Weitere Lernressourcen

Lernen Sie andere Übungen auf docs.oracle.com/learn kennen, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube Channel zu. Außerdem können Sie education.oracle.com/learning-explorer besuchen, um Oracle Learning Explorer zu werden.

Die Produktdokumentation finden Sie im Oracle Help Center.