HashiCorp Terraform ist ein IaC-Tool (Infrastructure as Code), mit dem Sie eine Cloud-Infrastruktur bereitstellen und verwalten können. Terraform bietet Plug-ins, die als Anbieter bezeichnet werden und mit denen Sie mit Cloud-Anbietern und anderen APIs interagieren können. Sie können den Terraform-Anbieter für Cloud de Confiance verwenden, um Ressourcen wie GKE bereitzustellen und zu verwalten. Cloud de Confiance by S3NS
Auf dieser Seite erfahren Sie, wie Sie Terraform mit GKE verwenden. Dazu gehören eine Einführung in die Funktionsweise von Terraform und einige Ressourcen, die Ihnen den Einstieg in die Verwendung von Terraform mit Cloud de Confianceerleichtern. Außerdem finden Sie Links zu Terraform-Referenzdokumenten für GKE, Codebeispielen und Anleitungen zur Bereitstellung von GKE-Ressourcen mit Terraform.
Eine Anleitung für die ersten Schritte mit Terraform für Cloud de Confiancefinden Sie unter Terraform installieren und konfigurieren oder im Terraform für Cloud de Confiance Schnellstart.
So funktioniert Terraform
Terraform hat eine deklarative, konfigurationsorientierte Syntax, mit der Sie die Infrastruktur beschreiben können, die Sie in Ihrem Cloud de Confiance Projekt bereitstellen möchten. Nachdem Sie diese Konfiguration in einer oder mehreren Terraform-Konfigurationsdateien erstellt haben, können Sie die Konfiguration mit der Terraform-Befehlszeile auf Ihre GKE-Ressourcen anwenden.
In den folgenden Schritten wird die Funktionsweise von Terraform erläutert:
- Sie beschreiben die Infrastruktur, die Sie bereitstellen möchten, in einer Terraform-Konfigurationsdatei. Sie müssen keinen Code schreiben, der beschreibt, wie die Infrastruktur bereitgestellt wird. Terraform stellt die Infrastruktur für Sie bereit.
- Sie führen den Befehl
terraform planaus, der Ihre Konfiguration auswertet und einen Ausführungsplan generiert. Sie können den Plan prüfen und bei Bedarf Änderungen vornehmen. -
Anschließend führen Sie den Befehl
terraform applyaus, der die folgenden Aktionen ausführt:- Ihre Infrastruktur wird basierend auf Ihrem Ausführungsplan bereitgestellt, indem die entsprechenden GKE APIs im Hintergrund aufgerufen werden.
- Es wird eine Terraform-Zustandsdatei erstellt, eine JSON-Datei, die die Ressourcen in Ihrer Konfigurationsdatei den Ressourcen in der realen Infrastruktur zuordnet. Terraform verwendet diese Datei, um den aktuellen Status Ihrer Infrastruktur zu erfassen und zu bestimmen, wann Ressourcen erstellt, aktualisiert und gelöscht werden müssen.
-
Wenn Sie anschließend
terraform applyausführen, verwendet Terraform die Zuordnung in der Zustandsdatei, um die vorhandene Infrastruktur mit dem Code zu vergleichen und bei Bedarf Aktualisierungen vorzunehmen:- Wenn ein Ressourcenobjekt in der Konfigurationsdatei definiert, aber in der Zustandsdatei nicht vorhanden ist, wird es von Terraform erstellt.
- Wenn ein Ressourcenobjekt in der Zustandsdatei vorhanden ist, aber eine andere Konfiguration als die Konfigurationsdatei hat, aktualisiert Terraform die Ressource entsprechend Ihrer Konfigurationsdatei.
- Wenn ein Ressourcenobjekt in der Zustandsdatei mit der Konfigurationsdatei übereinstimmt, Terraform lässt die Ressource unverändert.
Terraform-Ressourcen für GKE
Ressourcen sind die grundlegenden Elemente der Terraform-Sprache. Jeder Ressourcenblock beschreibt ein oder mehrere Infrastrukturobjekte, z. B. virtuelle Netzwerke oder Compute-Instanzen.
In der folgenden Tabelle sind die Terraform-Ressourcen aufgeführt, die für GKE verfügbar sind:
Terraform-basierte Anleitungen für GKE
In der folgenden Tabelle sind Terraform-basierte Anleitungen und Tutorials für GKE aufgeführt:
| Leitfaden | Details |
|---|---|
| GKE-Cluster erstellen und Arbeitslast mit Terraform bereitstellen | Hier erfahren Sie, wie Sie einen GKE Autopilot Cluster (Google Kubernetes Engine) erstellen und eine Arbeitslast mit Terraform bereitstellen. |
| Autopilot-Cluster erstellen | Hier erfahren Sie, wie Sie einen GKE-Cluster in Autopilot erstellen. |
| Zonale Cluster erstellen | Hier erfahren Sie, wie Sie einen zonalen Standardcluster erstellen, für den die Standardfeatures in GKE aktiviert sind. |
| Regionale Cluster erstellen | Hier erfahren Sie, wie Sie einen regionalen Standardcluster in GKE erstellen. |
| Multimandantencluster mit Terraform erstellen | Hier erfahren Sie, wie Sie einen Multimandantencluster erstellen und eine Arbeitslast mit Terraform bereitstellen. |
| Knotenpools hinzufügen und verwalten | Hier erfahren Sie, wie Sie in Knotenpools, die Ihre GKE Standard-Cluster ausführen, Vorgänge hinzufügen und ausführen. |
| Cluster und Knotenpools mit Arm-Knoten erstellen | Hier erfahren Sie, wie Sie einen GKE Standard-Cluster oder einen Knotenpool mit Arm-Knoten erstellen, damit Sie Arm-Arbeitslasten in GKE ausführen können. |
| Reservierte zonale Ressourcen nutzen | Hier erfahren Sie, wie Sie reservierte Compute Engine-Ressourcen in GKE nutzen. |
| Knotenimage angeben | Hier erfahren Sie, wie Sie ein Knoten-Image für Knoten in GKE Standard-Clustern angeben. |
| Cluster mit Windows Server-Knotenpools erstellen | Hier erfahren Sie, wie Sie GKE-Cluster mit Knotenpools ausführen, auf denen Microsoft Windows Server ausgeführt wird. |
| Cluster- und Knotenpoollabels erstellen und verwalten | Hier erfahren Sie, wie Sie einen Cluster mit Labels erstellen. |
| GKE -Ressourcen mit Tags verwalten | Hier erfahren Sie, wie Sie Ihre GKE-Cluster mithilfe von Tags verwalten. |
| Knotensystemkonfiguration anpassen | Hier erfahren Sie, wie Sie die Konfiguration Ihres GKE-Knotensystems mithilfe einer Knotensystemkonfigurationsdatei anpassen. |
| VPC-nativen Cluster erstellen | Hier erfahren Sie, wie Sie VPC-native Cluster in GKE konfigurieren. |
| Internen Load Balancer erstellen | Hier erfahren Sie, wie Sie einen internen Passthrough-Network-Load-Balancer oder einen internen Load Balancer in GKE erstellen. |
| Netzwerk für einen einfachen Produktionscluster konfigurieren | Hier wird beschrieben, wie Sie eine Webanwendung in einem GKE Cluster bereitstellen und mit einem HTTPS-Load-Balancer verfügbar machen. |
| Roll-out von Clusterupgrades sequenzieren | Hier erfahren Sie, wie Sie GKE-Clusterupgrades mithilfe von Roll-out-Sequenzierung verwalten. |
| TPU-Arbeitslasten in GKE Standard bereitstellen | Hier erfahren Sie, wie Sie mithilfe von Cloud TPU-Beschleunigern (TPUs) in GKE Standard-Clustern Arbeitslasten für das Training, die Optimierung und die Inferenz von KI- und ML-Modellen in großem Umfang anfordern und bereitstellen. |
| GPUs in GKE Standardknotenpools ausführen | Hier erfahren Sie, wie Sie verarbeitungsintensive Arbeitslasten wie KI-Arbeitslasten ausführen und optimieren, indem Sie NVIDIA-GPUs an die Knoten Ihrer GKE Standard-Cluster anschließen und verwenden. |
| GPUs mit mehreren Instanzen ausführen | Hier erfahren Sie, wie Sie die Auslastung erhöhen und die Kosten senken, indem Sie GPUs mit mehreren Instanzen ausführen. |
| Ray-Operator in GKE aktivieren | Hier erfahren Sie, wie Sie den Ray-Operator für GKE aktivieren. |
| Sekundäre Bootlaufwerke zum Vorabladen von Daten oder Container-Images verwenden | Hier erfahren Sie, wie Sie die Startlatenz von Arbeitslasten mithilfe von sekundären Bootlaufwerken verbessern. |
| Hochverfügbare PostgreSQL-Datenbank in GKE bereitstellen | Hier wird beschrieben, wie Sie eine hochverfügbare PostgreSQL-Topologie in GKE bereitstellen. PostgreSQL ist eine objektrelationale Open-Source-Datenbank die für Zuverlässigkeit und Datenintegrität bekannt ist. |
| Messwerte der Steuerungsebene erfassen und ansehen | Hier erfahren Sie, wie Sie einen GKE-Cluster so konfigurieren, dass Messwerte, die vom Kubernetes API-Server, Scheduler und Controller Manager ausgegeben werden, mit Google Cloud Managed Service for Prometheus an Cloud Monitoring gesendet werden. |
| cAdvisor-/Kubelet-Messwerte erfassen und ansehen | Hier erfahren Sie, wie Sie einen GKE-Cluster (Google Kubernetes Engine) so konfigurieren, dass eine Gruppe ausgewählter cAdvisor-/Kubelet-Messwerte mit Google Cloud Managed Service for Prometheus an Cloud Monitoring gesendet wird. |
| Logdurchsatz anpassen | Hier wird der Standard-Logdurchsatz beschrieben und es wird gezeigt, wie er erhöht werden kann. |
| Verwaltetes OpenTelemetry für GKE bereitstellen | Hier erfahren Sie, wie Sie verwaltetes OpenTelemetry für GKE einrichten, um OTLP-Traces, ‑Messwerte und ‑Logs an Google Cloud Observability zu senden. |
| Erfassen und ansehen von Kube-State-Metrics | Hier erfahren Sie, wie Sie einen GKE-Cluster so konfigurieren, dass Kube-State-Metrics an Cloud Monitoring gesendet werden, indem Sie Google Cloud Managed Service for Prometheus verwenden. |
| Policy Controller installieren | Hier erfahren Sie, wie Sie Policy Controller mit Terraform installieren. |
| Backup Sicherung für GKE für Cluster aktivieren | Hier erfahren Sie, wie Sie Backup for GKE für einen Cluster aktivieren. |
| Ressourcen während der Wiederherstellung ändern | Hier erfahren Sie, wie Sie während der Wiederherstellung mithilfe von Transformationsregeln Änderungen an Kubernetes-Ressourcen vornehmen. |
| Moderaten Modus in einem Sicherungsplan aktivieren | Hier erfahren Sie, wie Sie den moderaten Modus in einem Sicherungsplan aktivieren. |
| Backup for GKE API aktivieren | Hier erfahren Sie, wie Sie Backup for GKE aktivieren. |
| Eine Reihe von Sicherungen planen | Hier erfahren Sie, wie Sie einen Sicherungsplan für Sicherung für GKE erstellen, mit dem Sie Ihre Arbeitslasten in GKE sichern. |
| Cluster in einer Flotte registrieren Cloud de Confiance by S3NS | Hier erfahren Sie, wie Sie einen GKE-Cluster mit Terraform in einer Flotte registrieren. Cloud de Confiance by S3NS |
| Install Config Sync als Standardeinstellung für die Flotte installieren | Hier erfahren Sie, wie Sie Config Sync als Standardeinstellung auf Flottenebene für alle neuen Cluster konfigurieren. |
| Teamressourcen in der gesamten Flotte verwalten | Hier erfahren Sie, wie Sie mit Config Sync und Terraform dynamisch Ressourcen mit Teambereich in einer Flotte von Clustern erstellen. |
Terraform-Module und -Blueprints für GKE
Mithilfe von Modulen und Blueprints können Sie die Bereitstellung und Verwaltung von Cloud de Confiance Ressourcen in großem Maßstab automatisieren. Ein Modul ist ein wiederverwendbarer Satz von Terraform-Konfigurationsdateien, der eine logische Abstraktion von Terraform-Ressourcen erstellt. Ein Blueprint ist ein Paket aus bereitstellbaren und wiederverwendbaren Modulen und einer Richtlinie, mit der eine bestimmte Lösung implementiert und dokumentiert wird.
In der folgenden Tabelle sind Module und Blueprints aufgeführt, die sich auf GKE beziehen:
| Modul oder Blueprint | Details |
|---|---|
| terraform-google-kubernetes-engine | Konfiguriert speziell ausgerichtete GKE-Cluster. |
| terraform-google-gke-gitlab | Installiert GitLab in GKE. |