Terraform-Konfigurationsdatei erstellen
Erfahren Sie, wie Sie eine Terraform-Konfigurationsdatei mit einer domänenspezifischen Terraform-Sprache oder einem JSON-Format erstellen, wenn die Dateien maschinenlesbar sein müssen.
Terraform beschreibt die Oracle Cloud Infrastructure-(OCI-)Infrastruktur mit deklarativer Syntax und persistiert sie dann in Konfigurationsdateien, die freigegeben, geprüft, bearbeitet, versioniert, beibehalten und wiederverwendet werden können. Siehe Konfigurationssyntax. Terraform-Konfigurationsdateien können eines von zwei Formaten verwenden: Terraform-domainspezifische Sprache (HashiCorp Configuration Language-Format [HCL], der empfohlene Ansatz) oder JSON-Format, wenn die Dateien maschinenlesbar sein müssen. Konfigurationsdateien, die das HCL-Format verwenden, enden mit der Dateierweiterung .tf
, Dateien im JSON-Format enden mit der Dateierweiterung .tf.json
. Das Terraform-Format ist menschenlesbar, während das JSON-Format maschinenlesbar ist.
Mit Terraform-Konfigurationen können Sie Ressourcen definieren, die Ihre Lösung oder Anwendung zum Zeitpunkt des Deployments benötigt. Ressourcen können Oracle Cloud Infrastructure-Objekte wie virtuelle Cloud-Netzwerke oder Compute-Instanzen erstellen. Die erste Anwendung der Konfiguration erstellt die Objekte, und nachfolgende Anwendungen können diese aktualisieren oder löschen. Terraform konvertiert dann die Oracle Cloud Infrastructure-Konfigurationen in eine Gruppe von API-Aufrufen für die Oracle Cloud Infrastructure-API-Endpunkte. Um die Terraform-Konfiguration schreiben zu können, müssen Sie das Konzept kennen, wie die gewünschte Infrastruktur in die Terraform-Konfigurationssyntax abstrahiert wird.
Je nach Erfahrung mit der Entwicklung von Terraform-Konfigurationen können Sie mit den ersten Schritten mit einer Marketplace-Stackvorlage fortfahren oder Ihre eigenen Terraform-Konfigurationen erstellen.
Erste Schritte mit einer Marketplace-Stackvorlage
Eine Sammlung von Beispielen, mit denen Oracle Cloud Infrastructure Marketplace-Publisher Anwendungen in Oracle Cloud Infrastructure schnell bereitstellen können, ist unter OCI-Schnellstartvorlage verfügbar. Dieses Repository enthält die Vorlage, mit der Sie die Erstellung von Stacks beschleunigen können, die über die lokale Terraform-CLI, OCI Resource Manager und Cloud Shell ausgeführt werden.
Es wird empfohlen, zunächst einen Klon des Repositorys "oci-quickstart-template" zu erstellen:
$> git clone https://github.com/oracle-quickstart/oci-quickstart-template.git $> cd oci-quickstart-template
Terraform-Konfigurationsdateien (.tf) haben bestimmte Anforderungen, je nach den in der Datei definierten Komponenten. Beispiel: Sie haben Ihren Terraform-Provider in einer Datei definiert (provider.tf), Ihre Variablen in einer anderen (variables.tf) und Ihre Datenquellen in einer anderen Datei. Marketplace-Schnellstartstackvorlage gruppiert ähnliche Ressourcen in einzelne Dateien. Beachten Sie jedoch, dass das Dateisystemlayout nur eine Beispielreferenz ist.
Instanz mit einem benutzerdefinierten Image bereitstellen
So erstellen Sie eine Instanz über ein benutzerdefiniertes Image:
-
Suchen Sie die Ressource oci_core_instance in der Datei compute.tf, und setzen Sie source_details in der gerade geklonten Vorlage "oci-quickstart-template" auf local.compute_image_id. Die lokale Variable local.compute_image_id kann auf eine benutzerdefinierte Image-OCID oder ein Marktplatzimage-OCID basierend auf dem Flag mp_subscription_enable gesetzt werden.
-
Ändern Sie den Wert des Variablenstandardattributs variables.tf für compute_image_id auf die OCID des benutzerdefinierten Images, das Sie nach Aufgabe 2 in OCI-Stackliste im Partnerportal erstellen erstellt haben.
Verfassen Ihres eigenen Marketplace-Stacks
Das Repository "oci-quickstart-template" dient als Ausgangspunkt für Ihre Terraform-Konfigurationen, beschränkt Sie jedoch nicht darauf, Ihre eigene Infrastruktur als Code zu erstellen. Weitere Beispiele finden Sie unter Oracle Cloud Infrastructure-Terraform-Provider für OCI: terraform-provider-OCI/docs/examples. Stellen Sie sicher, dass Ihre Terraform-Dateien den Marketplace-Richtlinien für Stacks entsprechen.