Arbeitsbereiche erstellen und Ihre Terraform-Dateien importieren
Verwenden Sie einen „ Schematics “, um Ihre „ IBM Cloud Schematics “-Ressourcen mit Terraform zu verwalten. In den Workspace-Einstellungen werden die in einem „ Git “-Repository gehostete Terraform-Engine sowie etwaige Eingabevariablen zur Anpassung der Vorlage festgelegt.
IBM Cloud Schematics Ältere Versionen von Terraform werden nicht mehr unterstützt, und es wird Unterstützung für neuere Terraform-Versionen eingeführt. Weitere Informationen finden Sie unter Schematics Lebenszyklus der Veralterung in Terraform und Zeitplan für die Einstellung.
Vorbereitende Schritte
- Erstellen Sie eine Terraform-Konfiguration und speichern Sie die Konfiguration in einem
GitHub-,GitLab- oderBitbucket-Repository. Sie können auch eine Bandarchivdatei (.tar) von Ihrem lokalen Rechner hochladen, um Ihre Vorlage an IBM Cloud Schematics zu übermitteln. Weitere Informationen finden Sie unter demibmcloud schematics workspace uploadBefehl sowie die API zum Hochladen einer „tar“-Datei in Ihren Arbeitsbereich. - Stellen Sie sicher, dass Sie über die erforderlichen Berechtigungen zum Erstellen eines Arbeitsbereichs verfügen.
Stellen Sie sicher, dass die Endpunkte „ location “ und „ url “ auf dieselbe Region verweisen, wenn Sie die Arbeitsbereiche und Aktionen unter Schematics erstellen oder aktualisieren. Weitere Informationen zur Position
und zum Endpunkt finden Sie unter Wo werden Ihre Informationen gespeichert?
Erstellen eines Arbeitsbereichs über die Benutzeroberfläche
- Melden Sie sich bei der KonsoleIBM Cloud an.
- Klicken Sie auf das
im Menü > Plattformautomatisierung > Schematics > Terraform > Arbeitsbereich erstellen.
- Im Abschnitt „ Vorlage festlegen “:
-
GitHub,, GitLab, oder
BitbucketURL –<provide your Terraform Git repository URL. -
Persönlicher Zugangscode –
<leave it blank>. Sie können aufOpen reference pickerklicken, um Ihre Secrets Manager-Schlüsselreferenz auszuwählen. Weitere Informationen finden Sie unter Erstellen einer Secrets Manager-Instanz. -
Terraform-Version –
terraform_v1.4. Sie müssen die Terraform-Version 1.4 oder eine neuere Version auswählen. Wenn Ihre Terraform-Vorlagen beispielsweise mithilfe von Terraform v1.4 erstellt wurden, wählen Sie den Parameter „Terraform version“ wie folgt aus terraform_v1.4. Sie können „Terraform_v1.5“ auswählen, um die Terraform-Version 1.5 zu verwenden, oder „terraform_v1.4“, um die Terraform-Version 1.4 zu verwenden. Wenn Sie „terraform_v1.5“ angeben, bedeutet dies, dass Benutzer Terraform-Adressen wiev1.5.0,v1.5.1oderv1.5.7usw. verwenden können. Schematics unterstütztTerraform_v1.xund plant außerdem, nach30 to 45 daysder Veröffentlichung der HashiCorp Configuration Language (HCL) weitere Versionen bereitzustellen.Schematics unterstützt das aktuelle Release von
Terraform v1.4überTerraform_v1.6. Terraform muss die Versionsbeschränkung verwenden, z. B.>,>=oder~>für die „required_version“ von Terraform, um automatisch die aktuelle Version auszuwählen.terraform { required_version = "~> 1.1" } -
Klicken Sie auf
Next.
-
- Im Abschnitt „ Workspace-Details “. einen Namen für
workspace nameein. Der Name kann bis zu 128 Zeichen lang sein und kann alphanumerische Zeichen, Leerzeichen, Gedankenstriche und Unterstreichungszeichen enthalten.- Arbeitsbereichsname als
schematics-agent-service. - Tags als
my-tags. Optional: Geben Sie Tags für den Arbeitsbereich ein. Mit den Tags kannst du deinen Arbeitsbereich später schneller finden. - Ressourcengruppe als
defaultoder eine andere Ressourcengruppe für diesen Arbeitsbereich. - Position als
North Americaoder eine andere Region für diesen Arbeitsbereich. Entscheiden Sie, wo Sie Ihren Arbeitsbereich einrichten möchten? Der Standort bestimmt, wo Ihre „ Schematics “-Jobs ausgeführt werden und wo Ihre Arbeitsbereichsdaten gespeichert werden Sie können zwischen einer Region, wie beispielsweise Nordamerika, oder einer Großstadt, wie beispielsweise Frankfurt oder London, wählen. Wenn Sie einen Standort auswählen, ermittelt Schematics den Standort je nach Verfügbarkeit. Wenn Sie eine Metropole auswählen, wird Ihr Arbeitsbereich an diesem Standort erstellt. Weitere Informationen dazu, wo Ihre Daten gespeichert werden, finden Sie unter „ Wo werden Ihre Daten gespeichert?“ Der von Ihnen gewählte Standort ist unabhängig von der Region oder den Regionen, in denen Sie Ihre Cloud-Ressourcen bereitstellen möchten. Die Konsole unterstützt nicht alle verfügbaren Standorte. Um den Arbeitsbereich an einem anderen Standort zu erstellen, verwenden Sie stattdessen die Befehlszeilenschnittstelle oder die Anwendungsprogrammierschnittstelle. - Optional: Geben Sie einen beschreibenden Namen für Ihren Arbeitsbereich ein.
- Klicken Sie auf
Next.
- Arbeitsbereichsname als
- Klicken Sie auf
Create. Ihr Arbeitsbereich wird mit dem Status Entwurf erstellt und die Arbeitsbereichsseite Einstellungen wird geöffnet.
- Im Abschnitt „ Vorlage festlegen “:
Terraform-Vorlage importieren
Wenn Sie eine Bandarchivierungsdatei (.tar) hochladen möchten, anstatt Ihren Arbeitsbereich in ein Git-Repository zu importieren, müssen Sie den Befehl ibmcloud schematics workspace upload (ibmcloud-Schematics-Arbeitsbereich hochladen) verwenden und die API upload a tar file to your workspace (TAR-Datei in Ihren Arbeitsbereich hochladen) verwenden.
-
Klicken Sie auf der Seite Einstellungen des Arbeitsbereichs auf das Bearbeitungssymbol, um Ihre
Repository URLzu bearbeiten. Vom Link kann auf die Verzweigungmaster, eine andere Verzweigung oder ein Unterverzeichnis verwiesen werden.- Beispiel für die Verzweigung
master:https://github.com/myorg/myrepo - Beispiel für weitere Verzweigungen:
https://github.com/myorg/myrepo/tree/mybranch - Beispiel für ein Unterverzeichnis:
https://github.com/mnorg/myrepo/tree/mybranch/mysubdirectory
- Beispiel für die Verzweigung
-
Wenn Sie ein privates Git-Repository verwenden möchten, geben Sie ein persönliches Zugriffstoken ein. Das persönliche Zugriffstoken wird zum Authentifizieren am Git-Repository für den Zugriff auf die Terraform-Vorlage verwendet. Sie können auf
Open reference pickerklicken, um eine Secrets Manager-Schlüsselreferenz auszuwählen. Weitere Informationen finden Sie unter „ Erstellen eines persönlichen Zugriffstokens für die Befehlszeile “. Um die Vorlage sicher zu validieren und zu klonen, können Sie aufOpen reference pickerklicken, um Ihre Secrets Manager-Schlüsselreferenz auszuwählen. Weitere Informationen finden Sie unter Erstellen einer Secrets Manager-Instanz. -
Wählen Sie die
Terraform versionaus, in der Ihre Terraform-Konfigurationsdateien geschrieben sind. -
Klicken Sie auf das Kontrollkästchen
I understand the changes that could happen if I edit this URL and I agree to these happening. -
Klicken Sie auf Speichern. IBM Cloud Schematics lädt die Terraform-Konfigurationsdateien automatisch aus Ihrem Repository herunter, überprüft sie auf Syntaxfehler und ruft alle Eingabevariablen ab, die Sie in Ihren Konfigurationsdateien deklariert haben. Wenn alle Konfigurationsdateien erfolgreich heruntergeladen werden und keine Syntaxfehler gefunden werden, ändert sich der Arbeitsbereichsstatus in Inaktiv.
Nachdem Ihre Terraform-Konfigurationsdateien gescannt wurden, können Sie die Ergebnisse auf der Seite Aktivität des Arbeitsbereichs anzeigen. Die Gesamtzahl der Dateien, die im Quellenrepository gescannt wurden, wird als
scannedangezeigt. Die Gesamtzahl der Dateien, die anfällig sind (z. B. nicht unterstützte Dateierweiterungen), wird alsdiscardedangezeigt. Klicken Sie auf Jobs, um die Details der überprüften (scanned) Dateien und der verworfenen (discarded) Dateien zu suchen. Weitere Informationen zum Anzeigen von Protokollen finden Sie unter „ Schematics-Auftragsdetails überprüfen “. -
Überprüfen Sie die Standardeingabevariablenwerte für Ihre Terraform-Vorlage. Um den Wert einer Eingabevariablen zu ändern, klicken Sie im Aktionsmenü des Arbeitsbereichs auf „ Bearbeiten “. Je nach dem Datentyp, den Ihre Variable verwendet, müssen Sie den Wert in einem bestimmten Format eingeben. In der folgenden Tabelle finden Sie Beispielwerte für jeden unterstützten Datentyp.
| Typ | Beispiel | | --- | -- | |
number| 4.56 | |string| Beispielwert | |bool| false | |map(string)| {key1 = "value1", key2 = "value2"} | |set(string)| ["hello", "he"] | |map(number)| {internal = 8080, external = 2020} | |list(string)| ["us-south", "eu-gb"] | |list| ["value", 30] | |list(list(string))| :[{internal = 8300 external = 8300 protocol ="tcp"},{internal = 8301 external = 8301 protocol ="ldp"}] : list(object({internal = number external = number protocol = string})) : [{internal = 8300 external = 8300 protocol ="tcp"} {internal = 8301 external = 8301 protocol ="ldp"}]|
Terraform-Vorlagen in IBM Cloud
Sie können Cloud-Ressourcen mit Schematics verwalten, um mit Terraform Cloud-Ressourcen zu erstellen, zu aktualisieren oder zu löschen.
Erstellen eines Arbeitsbereichs über die Befehlszeilenschnittstelle (CLI)
-
Erstellen Sie auf Ihrem lokalen Rechner eine JSON-Datei und fügen Sie Ihre Arbeitsbereichskonfiguration hinzu. Weitere Konfigurationsoptionen beim Erstellen des Arbeitsbereichs finden Sie unter dem Befehl „
ibmcloud schematics workspace new“.Informationen zum Erstellen eines Arbeitsbereichs mit Agent finden Sie im Abschnitt zum Befehl ibmcloud schematics workspace new with Agent.
{ "name": "<workspace_name>", "type": [ "<terraform_version>" ], "location": "<location>", "description": "<workspace_description>", "tags": [], "template_repo": { "url": "<github_source_repo_url>" "branch": "master" }, "template_data": [ { "folder": ".", "type": "<terraform_version>", "variablestore": [ { "name": "<variable_name1>", "value": "<variable_value1>", "type": "string", "secure": true }, { "name": "<variable_name2>", "value": "<variable_value2>", "type": "bool", "secure": false } ] } ] }Beschreibung der Komponenten der JSON-Datei Parameter Beschreibung workspace_nameGeben Sie einen Namen für Ihren Arbeitsbereich ein. Die maximale Zeichenlänge ist auf 1 MB gesetzt. Weitere Informationen finden Sie unter Arbeitsbereichsstruktur entwerfen. terraform_versionDie Terraform-Version, die zum Ausführen des Terraform-Codes verwendet werden soll. Zur Verwendung von Terraform version 1.4geben Sieterraform_v1.4und ähnlichterraform_v1.5undterraform_v1.6ein. Stellen Sie sicher, dass Ihre Terraform-Konfigurationsdateien mit der von Ihnen angegebenen Terraform-Version kompatibel sind. Wenn die Terraform-Variable „version“ nicht angegeben ist, wählt Schematics standardmäßig die Version aus Ihrer Vorlage aus.locationGeben Sie den Standort ein, an dem Sie Ihren Arbeitsbereich erstellen möchten. Der Standort bestimmt, wo Ihre Schematics-Aktionen ausgeführt werden und wo Ihre Arbeitsbereichsdaten gespeichert werden. Der Standort ist unabhängig von der Region, wo Sie Ihre IBM CloudServices erzeugen wollen. descriptionGeben Sie eine Beschreibung für Ihren Arbeitsbereich ein. github_source_repo_urlGeben Sie die URL zu dem GitHub- oder GitLab-Repository ein, in dem die Terraform-Konfigurationsdateien gespeichert sind. Wenn Sie sich dafür entschieden haben, Ihren Arbeitsbereich ohne ein GitHub-Repository zu erstellen, wird Ihr Arbeitsbereich mit dem Status Entwurf erstellt. Wenn Sie Ihren Arbeitsbereich zu einem späteren Zeitpunkt mit einem GitHub-Repository verbinden möchten, müssen Sie den Befehl ibmcloud schematics workspace updateverwenden.variable_nameOptional: Geben Sie den Namen für die Eingabevariable ein, die Sie in Ihren Terraformkonfigurationsdateien deklariert haben. variable_typeOptional: Geben Sie den Datentyp Ihrer Eingabevariable ein. Informationen zu unterstützten Datentypen finden Sie in der Beschreibung des Befehls ibmcloud schematics workspace new. -
Arbeitsbereich erstellen
ibmcloud schematics workspace new --file workspace.json -
Überprüfen Sie, ob Ihr Arbeitsbereich erzeugt wird. Stellen Sie sicher, dass sich Ihr Arbeitsbereich im inaktiven Zustand befindet.
ibmcloud schematics workspace list -
Siehe Verwalten von Cloud-Ressourcen mit Schematics, um Cloud-Ressourcen mit Terraform zu aktualisieren oder zu löschen.
Arbeitsbereich mit API erstellen
-
Befolgen Sie die Schritte, um Ihren IAM Zugriffstoken abzurufen und authentifizieren Sie mit IBM Cloud Schematics mit der API.
-
Erstellen Sie den Arbeitsbereich mithilfe von Terraform.
curl --request POST --url https://schematics.cloud.ibm.com/v1/workspaces -H "Authorization: <iam_access_token>" -d '{"name": "<workspace_name>","type": ["<terraform_version>"],"location": "<location>","description": "<description>","template_repo": {"url": "<github_source_repo_url>"},"template_data": [{"folder": ".","type": "<terraform_version>","variablestore": [{"value": "<variable_value>","name": "<variable_name>","type": "<variable_type>","secure": true}]}]}'Beschreibung der Komponenten der JSON-Datei Parameter Beschreibung iam_access_tokenEnter the IAM access token that you retrieved in step 1 abgerufen haben. workspace_nameGeben Sie einen Namen für Ihren Arbeitsbereich ein. Die maximale Zeichenlänge ist auf 1 MB gesetzt. Weitere Informationen finden Sie unter Arbeitsbereichsstruktur entwerfen. terraform_versionDie Terraform-Version, die zum Ausführen des Terraform-Codes verwendet werden soll. Geben Sie terraform_v1.4ein, um Terraform Version 1.4und in ähnlicher Weiseterraform_v1.5undterraform_v1.6zu verwenden. Stellen Sie sicher, dass Ihre Terraform-Konfigurationsdateien mit der von Ihnen angegebenen Terraform-Version kompatibel sind. Wenn die Terraform-Variable „version“ nicht angegeben ist, wählt Schematics standardmäßig die Version aus Ihrer Vorlage aus.locationGeben Sie den Standort ein, an dem Sie Ihren Arbeitsbereich erstellen möchten. Der Standort bestimmt, wo Ihre Schematics-Aktionen ausgeführt werden und wo Ihre Arbeitsbereichsdaten gespeichert werden. Der Standort ist unabhängig von der Region, wo Sie Ihre IBM CloudServices erzeugen wollen. descriptionGeben Sie eine Beschreibung für Ihren Arbeitsbereich ein. github_source_repo_urlFügen Sie den Befehl „ URL “ in das Repository „ GitHub “ oder „ GitLab “ ein, in dem Ihre Terraform-Konfigurationsdateien gespeichert sind variable_nameOptional: Geben Sie den Namen für die Eingabevariable ein, die Sie in Ihren Terraformkonfigurationsdateien deklariert haben. variable_valueOptional: Geben Sie den Wert für Ihre Eingabevariable ein. variable_typeOptional: Geben Sie den Datentyp Ihrer Eingabevariable ein. Informationen zu unterstützten Datentypen finden Sie in der Beschreibung des Befehls ibmcloud schematics workspace new. -
Überprüfen Sie, ob der Arbeitsbereich erfolgreich erzeugt wird.
curl -X GET https://schematics.cloud.ibm.com/v1/workspaces -H "Authorization: <iam_access_token>" -
Siehe "Cloud-Ressourcen verwalten" mit Schematics, um die Cloud-Ressourcen zu aktualisieren oder zu löschen.
Arbeitsbereich mit Terraform erstellen
-
Folgen Sie den Schritten in Terraform einrichten fürSchematics, um Ihren Arbeitsbereich mit Terraform zu erzeugen.
-
Siehe "Cloud-Ressourcen verwalten" mit Schematics, um die Cloud-Ressourcen zu aktualisieren oder zu löschen.
Nächste Schritte
Der nächste Schritt bei der Arbeit mit Arbeitsbereichen ist die Entwicklung von Arbeitsbereichen.