Hinweis:
- Dieses Tutorial erfordert Zugriff auf Oracle Cloud. Informationen zur Registrierung für einen kostenlosen Account finden Sie unter Erste Schritte mit Oracle Cloud Infrastructure Free Tier.
- Es verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, -Mandanten und -Compartments. Ersetzen Sie diese Werte nach Abschluss der Übung durch Werte, die für Ihre Cloud-Umgebung spezifisch sind.
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.
Ziele
- Starten Sie den Container CD3 mit einem einzigen Klick, und erstellen, exportieren Sie OCI-Identitäts-, Netzwerk- und Compute-Ressourcen mit Jenkins-Pipelines.
Voraussetzungen
-
Mit der Oracle Cloud Infrastructure Identity and Access Management-(OCI IAM-)Policy können 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 zum Starten des OCI Resource Manager-Stacks, der Compute-Instanz und der Netzwerkressourcen haben.
Aufgabe 1: Toolkit-Container einrichten
-
Klicken Sie auf In Oracle Cloud bereitstellen, um den OCI Resource Manager-Stack zu starten, der CD3 WorkVM erstellt.
-
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
. -
Prüfen Sie den Abschnitt Anwenden ausführen unten, und klicken Sie auf Erstellen.
-
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.
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
-
Navigieren Sie 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 verwenden wir die API-Schlüsselauthentifizierung. Behalten Sie den Standardwert für
auth_mechanism
bei. -
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. -
Übernehmen Sie den Standardwert für den Parameter
outdir_structure_file
, um die generiertenauto.tfvars
-Dateien für jeden Service zu gruppieren. -
Für das Tool IaC kann terraform oder tofu ausgewählt werden. Der Standardwert ist Terraform. Um OpenTofu zu verwenden, geben Sie tofu an.
-
Wählen Sie unter Erweiterte Parameter für DevOps
yes
für den Parameteruse_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.
-
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
-
Prüfen Sie die Ausgabe.
-
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
-
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.
-
Öffnen Sie
/cd3user/tenancies/<prefix>/terraform_files/<region>/compute/variables_<region>.tf
aus dem Container. Fügen Sie unter der Variableninstance_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). -
Nehmen Sie unter der Variablen
instance_source_ocids
den Variablennamen auf, der im Excel-Blatt für das Quellimagemyimageocid
angegeben ist, und weisen Sie dessen OCID als entsprechenden Wert zu. Die folgenden Screenshots dienen als Referenz. -
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
-
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
.
-
-
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 Ordnerterraform_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.
-
Laden Sie im Abschnitt Excel-Vorlage die in Aufgabe 3.1 abgerufene Excel-Datei hoch.
-
Wählen Sie unter Workflow die Option Neue Ressourcen in OCI erstellen (Greenfield-Workflow) aus.
-
Wählen Sie unter MainOptions die Optionen Identität, Netzwerk und Compute aus.
-
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.
-
Klicken Sie auf Erstellen. Die Setupoci-Pipelinephasen werden in der richtigen Reihenfolge ausgeführt.
Aufgabe 3.3: Genehmigung für jeden Serviceplan erteilen
-
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.
-
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.
-
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.
-
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.
-
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)
-
Geben Sie den Compartment-Namen an. Klicken Sie auf Erstellen, und die Phasen setupoci-Pipeline werden gestartet.
-
Das Excel-Arbeitsblatt wird mit Sicherheitsregeln, Routingregeln und DRG-Routingregeldaten aufgefüllt. Terraform-
tfvars
-Dateien werden für diese Services generiert. -
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. -
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.
-
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
-
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
.
-
-
Melden Sie sich bei Jenkins an.
Hinweis: Wenn Sie zum ersten Mal auf die Jenkins-URL zugreifen, richten Sie Anmeldezugangsdaten ein.
Aufgabe 4.3: Setupoci-Pipeline ausführen
-
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 Ordnerterraform_files
. Klicken Sie auf setupoci-Pipeline und Mit Parametern erstellen. -
Laden Sie im Abschnitt Excel-Vorlage die in Aufgabe 4.1 abgerufene Excel-Datei hoch.
-
Wählen Sie unter Workflow die Option Vorhandene Ressourcen aus OCI exportieren (Nicht-Greenfield-Workflow) aus.
-
Wählen Sie unter MainOptions die Optionen Identität exportieren, Netzwerk exportieren und Compute exportieren aus.
-
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.
-
Klicken Sie auf Erstellen. Die Setupoci-Pipelinephasen werden für jeden Service in der richtigen Reihenfolge ausgeführt.
-
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.
-
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.
Verwandte Links
Danksagungen
- Autoren - Lasya Vadavalli (Senior Cloud Engineer), Dipesh Kumar Rathod (Master Principal Cloud Architect, Infrastruktur)
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.
Configure CD3 with Jenkins to Create and Export Oracle Cloud Infrastructure Resources
F95141-04
October 2024