Hinweis:

Konfigurieren Sie CD3 mit Jenkins, um Oracle Cloud Infrastructure-Ressourcen zu erstellen und zu exportieren

Einführung

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

Das Toolkit unterstützt auch die nahtlose Ressourcenverwaltung mit dem OCI-Service DevOps Git und 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 CD3 WorkVM erstellt.

    Deploy_To_OCI

  2. Akzeptieren Sie die Geschäftsbedingungen. Geben Sie Netzwerk, Compartment, VM-Name, Ausprägung usw. für die zu erstellende 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 unten, und klicken Sie auf Erstellen.

  4. Wenn der Apply-Job erfolgreich ausgeführt wurde, klicken Sie auf den Job, und scrollen Sie nach unten zum Ende der Logs.

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

    rmstackoutput

    Nachdem Sie sich beim Container angemeldet haben, verbinden Sie ihn mit dem OCI-Mandanten, um die OCI-APIs auszuführen.

Aufgabe 2: Container mit OCI-Mandant verbinden

  1. Navigieren Sie 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 verwenden wir die API-Schlüsselauthentifizierung. Behalten Sie den Standardwert für auth_mechanism bei.

  3. Laden Sie in der OCI-Konsole unter Benutzereinstellungen den Public Key in APIkeys hoch. Platzieren Sie den privaten Schlüssel in den Container. Kopieren Sie die erforderlichen Konfigurationswerte, und fügen Sie sie unter den entsprechenden Parametern in die Datei tenancyconfig.properties ein.

  4. Übernehmen Sie den Standardwert für den Parameter outdir_structure_file, um die generierten auto.tfvars-Dateien für jeden Service zu gruppieren.

  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.

  6. Wählen Sie unter Erweiterte Parameter für DevOps yes für den Parameter use_oci_devops_git aus.

    Dadurch wird ein OCI DevOps Git-Repository für die generierten Terraform-Dateien, ein OCI Object Storage-Bucket für die Statusdatei und ein OCI-Benachrichtigungsthema erstellt, um über die Änderungen im DevOps-Repository zu benachrichtigen.

  7. Speichern Sie die Datei, und führen Sie createTenancyConfig.py aus, um die Umgebung zu initialisieren, und verwenden Sie CD3.

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

  9. Um als Nächstes Ressourcen in OCI zu erstellen, gehen Sie wie unter Aufgabe 3 beschrieben vor, oder gehen Sie wie unter Aufgabe 4 beschrieben vor, um Ressourcen zu exportieren.

Aufgabe 3: Ressourcen in OCI erstellen

Aufgabe 3.1: Excel- und Variablendatei vorbereiten

  1. Laden Sie die vorab ausgefüllte Excel-Vorlage hier herunter: cd3quickstart.xlsx für dieses Tutorial. Ändern Sie Region und Compartment-Werte basierend auf Ihrer Umgebung, und wechseln Sie zum Container.

  2. Öffnen Sie /cd3user/tenancies/<prefix>/terraform_files/<region>/compute/variables_<region>.tf aus dem Container. Fügen Sie unter der Variablen instance_ssh_keys den Variablennamen für SSH-Schlüssel hinzu, die im Excel-Blatt angegeben sind: ssh_public_key mit dem entsprechenden Wert (Schlüsselinhalt).

  3. Nehmen Sie unter der Variablen instance_source_ocids den Variablennamen auf, der im Excel-Blatt für das Quellimage myimageocid angegeben ist, und weisen Sie dessen OCID als entsprechenden Wert zu. Die folgenden Screenshots dienen als Referenz.

    ssh_key

    Quellocids

  4. Führen Sie die folgenden Befehle nacheinander aus, um die oben genannten lokalen Änderungen mit dem Git-Repository DevOps zu synchronisieren.

    cd /cd3user/tenancies/<prefix>/terraform_files
    git status
    git add -A .
    git commit -m "msg"
    git push
    

Aufgabe 3.2: Bei Jenkins anmelden und setupoci-Pipeline ausführen

  1. Starten Sie Jenkins, und greifen Sie mit den folgenden Befehlen aus dem Container darauf zu.

    • Um Jenkins zu starten, verwenden Sie den Befehl /usr/share/jenkins/jenkins.sh &.

    • Um auf Jenkins zuzugreifen, verwenden Sie diese URL https://<IP Address of the machine hosting docker container>:8443.

  2. Melden Sie sich bei Jenkins an. Im Dashboard sind Ordner mit <prefix>-Namen vorhanden. Klicken Sie auf den Namen <prefix>, mit dem Sie arbeiten. Sie enthält die entsprechende Setupoci-Pipeline und den Ordner terraform_files. Klicken Sie auf setupoci-Pipeline und Mit Parametern erstellen.

    Hinweis: Wenn Sie zum ersten Mal auf die Jenkins-URL zugreifen, richten Sie Anmeldezugangsdaten ein.

    excel_template

  3. Laden Sie im Abschnitt Excel-Vorlage die in Aufgabe 3.1 abgerufene Excel-Datei hoch.

    excel_template

  4. Wählen Sie unter Workflow die Option Neue Ressourcen in OCI erstellen (Greenfield-Workflow) aus.

  5. Wählen Sie unter MainOptions die Optionen Identität, Netzwerk und Compute aus.

  6. Wählen Sie unter SubOptions die Optionen Gruppen hinzufügen/ändern/löschen, Policys hinzufügen/ändern/löschen, Netzwerk erstellen, Instanzen hinzufügen/ändern/löschen/Bootbackup-Policy aus.

  7. Klicken Sie auf Erstellen. Die Setupoci-Pipelinephasen werden in der richtigen Reihenfolge ausgeführt.

Aufgabe 3.3: Genehmigung für jeden Serviceplan erteilen

  1. Klicken Sie auf die Identitätsphase für Logs, und klicken Sie auf den Link zum Identity Apply-Pipeline-Build. Klicken Sie unter der Phase Genehmigung abrufen auf "Logs", und wählen Sie Fortfahren aus. Prüfen Sie die Logs unter der Phase Anwenden, um die erstellten Identitätsressourcen zu prüfen.

    Terraformpipeline

  2. Klicken Sie in der Netzwerkphase in der Setupoci-Pipeline auf Logs und dann auf den Link für den Network Apply Pipeline Build. Klicken Sie unter der Phase Genehmigung abrufen auf "Logs", und wählen Sie Fortfahren aus. Prüfen Sie die Logs unter der Phase Anwenden, um die erstellten Netzwerkressourcen zu prüfen.

  3. Klicken Sie auf die Compute-Phasenlogs. Klicken Sie auf den Link, um den Compute-Pipeline-Build anzuwenden.

    Hinweis: Sie würden feststellen, dass die Compute-Terraform-Pipeline nicht erfolgreich war. Dies liegt daran, dass die Compute-Ressourcen vom Netzwerk abhängen, um bereit zu sein. Um dies zu beheben, lösen Sie die Compute-Terraform-Pipeline manuell aus, nachdem die Netzwerk-Apply-Pipeline erfolgreich war. Der nächste Schritt zeigt, wie Sie dies ausführen.

  4. Klicken Sie für die Compute Apply-Pipeline auf Jetzt erstellen. Nachdem die Pipelinephasen mit der Ausführung begonnen haben, klicken Sie unter der Phase Genehmigung abrufen auf Logs, und wählen Sie Fortfahren aus. Prüfen Sie die Logs unter der Phase Anwenden, um die erstellten Compute-Ressourcen zu prüfen.

  5. Durch die Ausführung von Netzwerk erstellen werden nur wenige Regeln im VCN erstellt, die noch nicht im Excel-Arbeitsblatt CD3 vorhanden sind (da diese Details zunächst von der Registerkarte "Subnetze" übernommen werden). Um sie mit der Excel-Datei zu synchronisieren, erstellen Sie die setupoci-Pipeline erneut mit demselben Excel-Arbeitsblatt wie oben. Legen Sie den Workflow wie Ressourcen in OCI erstellen fest, wählen Sie unter den Hauptoptionen Netzwerk und dann 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. Geben Sie den Compartment-Namen an. Klicken Sie auf Erstellen, und die Phasen setupoci-Pipeline werden gestartet.

  7. Das Excel-Arbeitsblatt wird mit Sicherheitsregeln, Routingregeln und DRG-Routingregeldaten aufgefüllt. Terraform-tfvars-Dateien werden für diese Services generiert.

  8. Die aktualisierte Excel-Datei mit exportierten Daten aus OCI ist unter Artefakte erstellen des jeweiligen setupoci-Builds vorhanden. Die Excel-Datei ist auch im Container unter /cd3user/tenancies/<prefix> vorhanden.

  9. Klicken Sie auf die Netzwerk-Phasenlogs, und klicken Sie auf den Link zum Network Apply Pipeline Build. Im Terraform-Plan muss Keine Änderungen angezeigt werden, die diese Services in OCI inferenzieren, und CD3 ist synchron.

  10. Damit ist der Prozess zur Ressourcenerstellung in OCI abgeschlossen. Prüfen Sie die Ressourcen, die in der OCI-Konsole erstellt werden.

Aufgabe 4: Ressourcen aus OCI exportieren

Aufgabe 4.1: Datei CD3-Blank-template.xlsx herunterladen

Für den Exportworkflow überschreibt das Toolkit alle vorhandenen Daten im jeweiligen Serviceblatt. Es wird daher empfohlen, CD3-Blank-template.xlsx zu verwenden, das standardmäßig keine Daten enthält.

Laden Sie die leere Vorlage CD3 von hier herunter: CD3-Leer-template.xlsx.

Aufgabe 4.2: Bei Jenkins anmelden

  1. Starten Sie Jenkins, und greifen Sie mit den folgenden Befehlen aus dem Container darauf zu.

    1. Um Jenkins zu starten, verwenden Sie den Befehl /usr/share/jenkins/jenkins.sh &.

    2. Um auf Jenkins zuzugreifen, verwenden Sie diese URL https://<IP Address of the machine hosting docker container>:8443.

  2. Melden Sie sich bei Jenkins an.

    Hinweis: Wenn Sie zum ersten Mal auf die Jenkins-URL zugreifen, richten Sie Anmeldezugangsdaten ein.

    excel_template

Aufgabe 4.3: Setupoci-Pipeline ausführen

  1. Im Jenkins-Dashboard sind Ordner mit <prefix>-Namen vorhanden. Klicken Sie auf den Namen <prefix>, mit dem Sie arbeiten. Sie enthält die entsprechende Setupoci-Pipeline und den Ordner terraform_files. Klicken Sie auf setupoci-Pipeline und Mit Parametern erstellen.

  2. Laden Sie im Abschnitt Excel-Vorlage die in Aufgabe 4.1 abgerufene Excel-Datei hoch.

  3. Wählen Sie unter Workflow die Option Vorhandene Ressourcen aus OCI exportieren (Nicht-Greenfield-Workflow) aus.

  4. Wählen Sie unter MainOptions die Optionen Identität exportieren, Netzwerk exportieren und Compute exportieren aus.

  5. Wählen Sie unter SubOptions die Option Compartments/Gruppen/Policys exportieren für die Identität und Alle Netzwerkkomponenten exportieren für das Netzwerk und Instanzen exportieren (ausgenommen von OKE gestartete Instanzen) für Compute aus.

    Hinweis: Fügen Sie bei Bedarf Details unter AdditionalFilters hinzu, um Ressourcen zu filtern.

  6. Klicken Sie auf Erstellen. Die Setupoci-Pipelinephasen werden für jeden Service in der richtigen Reihenfolge ausgeführt.

    excel_template

  7. Prüfen Sie die Logs unter der Phase Importbefehle ausführen. Wenn sie als erfolgreich angezeigt wird, muss die Phase Planen der jeweils ausgelösten Terraform-Pipelines als Keine Änderungen angezeigt werden.

    Hinweis: Wenn Sie Änderungen im Plan finden, prüfen Sie diese, und wenden Sie sie bei Bedarf an.

  8. Die aktualisierte Excel-Datei mit exportierten Daten aus OCI ist unter Artefakte erstellen des jeweiligen setupoci-Builds vorhanden. Die Excel-Datei ist auch im Container unter /cd3user/tenancies/<prefix> vorhanden.

Danksagungen

Weitere Lernressourcen

Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie im Oracle Learning YouTube-Channel auf weitere kostenlose Lerninhalte zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.

Die Produktdokumentation finden Sie im Oracle Help Center.