Hinweis:
- Dieses Tutorial erfordert Zugriff auf Oracle Cloud. Informationen zum Registrieren eines kostenlosen Accounts finden Sie unter Erste Schritte mit Oracle Cloud Infrastructure Free Tier.
- Es verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, -Mandanten und -Compartments. Wenn Sie Ihre Übung abgeschlossen haben, ersetzen Sie diese Werte durch spezifische Werte für Ihre Cloud-Umgebung.
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.
Ziele
-
Starten Sie den Resource Manager-Stack des Containers CD3 mit einem einzigen Klick, und erstellen Sie OCI Networking- und OCI Compute-Ressourcen mit der CD3-CLI.
-
Exportieren Sie OCI Networking- und OCI Compute-Ressourcen mit der CD3-CLI.
Voraussetzungen
-
Mit der Oracle Cloud Infrastructure Identity and Access Management-(OCI IAM-)Policy kann der Benutzer oder Instanz-Principal die Services verwalten, die mit dem Toolkit erstellt oder exportiert werden müssen.
-
Der Benutzer, der den Stack bereitstellt, muss Zugriff auf den OCI Resource Manager-Stack, die OCI Compute-Instanz und OCI Networking-Ressourcen haben.
Aufgabe 1: Toolkit-Container einrichten
-
Klicken Sie auf In Oracle Cloud bereitstellen, um den OCI Resource Manager-Stack zu starten, der die CD3 workVM erstellt.
-
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
. -
Prüfen Sie den Abschnitt Anwenden ausführen, und klicken Sie auf Erstellen.
-
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.
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
-
Navigieren Sie im Container zu
cd /cd3user/oci_tools/cd3_automation_toolkit/user-scripts/
, und öffnen Sie die Dateitenancyconfig.properties
. -
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. -
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. -
Behalten Sie den Standardwert für den Parameter
outdir_structure_file
bei. Dadurch werden die generiertenauto.tfvars
-Dateien für jeden Service unter seinem servicespezifischen Ordner gruppiert. -
Für das Tool IaC kann terraform oder tofu ausgewählt werden. Der Standardwert ist Terraform. Um OpenTofu zu verwenden, geben Sie tofu an.
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.
-
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
-
Prüfen Sie die Ausgabe.
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
-
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.
-
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 mitcd3user
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
-
Öffnen Sie
/cd3user/tenancies/cd3_demo_cli/terraform_files/<region>/compute/variables_<region>.tf
aus dem Container. Fügen Sie unter der Variableinstance_ssh_keys
den Variablennamen für SSH-Schlüssel hinzu, der in der Excel-Tabellessh_public_key
mit dem entsprechenden Wert (Schlüsselinhalt) angegeben ist. -
Fügen Sie unter der Variablen
instance_source_ocids
den Variablennamen ein, der in der Excel-Tabelle für das Quellimagemyimageocid
angegeben ist, und weisen Sie dessen OCID als entsprechenden Wert zu.
Aufgabe 3.2: Skript setUpOCI.py
ausführen, um Terraform-Ressourcendateien zu generieren
-
Ö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 Variablencd3file
hinzu. Setzen Sie die Variable workflow_type aufcreate_resources
, und speichern Sie die Datei. -
Wechseln Sie in das Verzeichnis
cd /cd3user/oci_tools/cd3_automation_toolkit/
, und führen Sie das SkriptsetUpOCI.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.
-
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.
-
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
-
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 Dateicd3_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)
-
Nach erfolgreicher Ausführung werden die Blätter
DRGRouteRulesinOCI
,RouteRulesinOCI
undSecRulesinOCI
in der Excel-Vorlage mit den entsprechenden Daten aufgefüllt, und die Dateiencd3_demo_cli_seclists.auto.tfvars
,cd3_demo_cli_routetables.auto.tfvars
undcd3_demo_cli_drg-routetables.auto.tfvars
werden im Ordner/cd3user/tenancies/cd3_demo_cli/terraform_files/<region_dir>/<service_dir>
generiert. -
Prüfen Sie
terraform plan
undterraform 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. -
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
-
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 mitcd3user
an, um Berechtigungsprobleme zu vermeiden. -
Navigieren Sie zum Ordner
/cd3user/tenancies/cd3_demo_cli/
, und öffnen Sie die Dateicd3_demo_cli_setUpOCI.properties
. -
Fügen Sie den Excel-Dateipfad CD3 unter der Variablen
cd3file
hinzu. -
Setzen Sie den Parameter workflow_type auf
export_resources
, und speichern Sie die Datei.
Aufgabe 4.2: Skript setUpOCI.py
ausführen
-
Wechseln Sie in das Verzeichnis
cd /cd3user/oci_tools/cd3_automation_toolkit/
, und führen Sie das SkriptsetUpOCI.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.
-
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. -
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
-
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.
-
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
-
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
invariables_<region>.tf
platziert, und die Quell-OCIDs werden unter der Variableninstance_source_ocid
platziert. -
Aufgabe 4.3: Generierte .sh
-Dateien ausführen
-
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
-
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.
Verwandte Links
Danksagungen
- Autor - Lasya Vadavalli (Senior Cloud Engineer)
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.
Configure CD3 Toolkit with CLI to Create and Export Oracle Cloud Infrastructure Resources
F87010-04
September 2024