Überblick
Terraform ist ein Open-Source-Tool, mit dem Sie Cloud-Umgebungen wie AWS konfigurieren und Software wie Kubernetes darauf installieren können. Sie können Ihre AWS-Umgebung konfigurieren und Ihre Cluster darin entweder mit Terraform oder mit der Installationsanleitung für GKE on AWS erstellen.
Auf dieser Seite wird beschrieben, wie Sie mit Terraform Ihre AWS-Umgebung konfigurieren und einen Cluster mithilfe einer auf GitHub gespeicherten Beispielkonfiguration installieren. Damit Sie diese Skripts verwenden können, müssen Sie sich mit Terraform vertraut machen. Insbesondere müssen Sie die Terraform-Konfigurationsdateien bearbeiten, um Ihre eigenen Nutzer- und Projektinformationen hinzuzufügen und um alle erforderlichen Änderungen an der Standard-Clusterkonfiguration vorzunehmen.
Informationen zum Konfigurieren Ihrer AWS-Umgebung und zum Erstellen von Clustern ohne Terraform finden Sie unter Übersicht über die AWS-Voraussetzungen und in der Anleitung zum Cluster erstellen.
Funktionsweisen der Skripts
Mit diesem Script wird Terraform so konfiguriert, dass eine AWS-VPC erstellt und ein Cluster darauf bereitgestellt wird. Die resultierende VPC erfüllt alle Voraussetzungen für GKE on AWS und hat dieselbe Netzwerktopologie wie die VPC, die in der manuellen Anleitung zum Erstellen von VPC-Netzwerken von Google erstellt wurde.
Der vom Skriptsatz erstellte Cluster hat folgende Merkmale:
- Drei Steuerungsebenenknoten (einer in jeder der drei konfigurierten Verfügbarkeitszonen) Diese Knoten haben den Typ t3.large.
- Einen Knotenpool mit zwei Knoten vom Typ t3.large.
Dieser Knotenpool wird in der AWS-Region
us-east-1
bereitgestellt und kann automatisch auf fünf Knoten skaliert werden.
Standard-VPC und -Cluster ändern
Sie können die Eigenschaften der von den Terraform-Skripts erstellten VPC und des Clusters ändern. Bearbeiten Sie dazu die entsprechenden Terraform-Dateien.
- Passen Sie die Region und die Verfügbarkeitszonen an. Bearbeiten Sie dazu die Datei
variables.tf
. - Ändern Sie den AWS-Instanztyp.
- Ändern Sie die Merkmale der VPC, einschließlich der Subnetze, Verfügbarkeitszonen und des Load-Balancers. Bearbeiten Sie dazu die Dateien im Unterordner
modules/vpc
.
Führen Sie den folgenden Befehl aus, um eine Liste der AWS-Regionen, die von einer bestimmten Google Cloud-Region gesteuert werden, und der zugehörigen Kubernetes-Versionen abzurufen:
gcloud container aws get-server-config --location `GOOGLE_CLOUD_REGION`
Ersetzen Sie GOOGLE_CLOUD_REGION
durch den Namen der Google Cloud-Region, von der aus GKE on AWS Ihren Cluster steuern soll.
Vorbereitung
Installieren Sie die Google Cloud CLI mit der Installationsanleitung für die Google Cloud CLI. Wenn Sie es bereits installiert haben, folgen Sie dieser Anleitung, um Version 412.0.0 oder höher zu verwenden.
Installieren Sie die AWS-Befehlszeile mit der Installationsanleitung für die AWS-Befehlszeile.
Erstellen Sie Ihre AWS-Zugriffsschlüssel.
Konfigurieren Sie Ihre lokale AWS-Umgebung mit dem folgenden Befehl:
aws configure
Terraform vorbereiten
Konfigurieren Sie die Authentifizierung der Google Cloud CLI mit den folgenden Befehlen:
gcloud config set project GOOGLE_PROJECT_ID gcloud auth application-default login --no-launch-browser
Aktivieren Sie die erforderlichen Dienste in Ihrem Google Cloud-Projekt:
gcloud --project="GOOGLE_PROJECT_ID" services enable \ gkemulticloud.googleapis.com \ gkeconnect.googleapis.com \ connectgateway.googleapis.com \ cloudresourcemanager.googleapis.com \ anthos.googleapis.com \ logging.googleapis.com \ monitoring.googleapis.com \ opsconfigmonitoring.googleapis.com
Ersetzen Sie
GOOGLE_PROJECT_ID
durch die Google-Projekt-ID.Erstellen Sie eine lokale Kopie des Repositorys und wechseln Sie zum Ordner
AWS
:git clone https://github.com/GoogleCloudPlatform/anthos-samples.git cd anthos-samples/anthos-multi-cloud/AWS
GKE on AWS bereitstellen
Bearbeiten Sie die folgenden Zeilen in der Datei
terraform.tfvars
, um die Standardwerte zu ersetzen:gcp_project_id = GOOGLE_PROJECT_ID admin_users = ["GCP_ACCOUNT_EMAIL"]
Ersetzen Sie Folgendes:
GOOGLE_PROJECT_ID
: Ihre Google-Projekt-ID. Diese finden Sie auf der linken Seite der Dashboard-Seite der Google Cloud Console.ACCOUNT_EMAILS
: eine durch Kommas getrennte Liste von E-Mail-Adressen, die sich nach dem Erstellen bei den Clustern anmelden können, z. B."admin@example.com","operator@example.com"
Mindestens eine Adresse muss ein Google Cloud-Konto haben. Informationen zum Hinzufügen weiterer Identitätsanbieter zu Ihrem Cluster finden Sie unter Identität mit dem GKE Identity Service verwalten.
Initialisieren und erstellen Sie den Terraform-Plan:
terraform init
Terraform installiert alle erforderlichen Bibliotheken, z. B. den Google Cloud-Anbieter.
Wenden Sie den Terraform-Plan an, um die AWS Virtual Private Cloud und den Cluster zu erstellen:
terraform apply
Folgen Sie der Anleitung zum Erstellen eines Clusters.
Die Installation dauert etwa 12 Minuten. Wenn Terraform die AWS Virtual Private Cloud und den Cluster erstellt hat, werden Informationen im Cluster ausgegeben und eine Datei mit dem Namen var.sh
erstellt. Sie können die Werte in dieser Datei verwenden, wenn Sie zusätzliche Knotenpools erstellen.
Um zu prüfen, ob der Cluster erfolgreich erstellt wurde, achten Sie darauf, dass er auf der Kubernetes Engine-Seite der Google Cloud Console in Ihrem Google Cloud-Projekt angezeigt wird.
Mit dem Cluster verbinden
Führen Sie den folgenden Befehl aus, um die Konnektivität zu Ihrem Cluster zu überprüfen und Details abzurufen:
gcloud container fleet memberships get-credentials CLUSTER_NAME
kubectl get nodes
Ersetzen Sie CLUSTER_NAME
durch den Namen Ihres Clusters. Sie finden den Clusternamen in der Terraform-Ausgabedatei var.sh
.
Die Ausgabe enthält eine Liste der Knoten in Ihrem Cluster und deren Status.
Cluster und AWS Virtual Private Cloud löschen
Bevor Sie den Cluster und AWS Virtual Private Cloud löschen, müssen Sie Folgendes entfernen:
- Alle aktiven AWS-Load-Balancer in der AWS Virtual Private Cloud
- Alle zusätzlichen Knotenpools in Ihrem Cluster, die nicht mit Terraform erstellt wurden
- Alle zusätzlichen Cluster in der Virtual Private Cloud von AWS, die nicht mit Terraform erstellt wurden
Führen Sie den folgenden Befehl aus, um den Cluster und die AWS Virtual Private Cloud zu entfernen, die Sie mit Terraform erstellt haben:
terraform destroy
Terraform entleert Arbeitslasten von Ihren Knoten, löscht Ihren primären Knotenpool und Ihren Cluster sowie Ihre AWS Virtual Private Cloud.
Cloud Logging und Cloud Monitoring autorisieren
Wenn Sie Cloud Logging und Cloud Monitoring aktivieren möchten, müssen Sie dem Google Cloud-Projekt nach dem Erstellen eines Clusters eine Zulassungsrichtlinie hinzufügen.
Fügen Sie eine Zulassungsrichtlinie mit der Google Cloud-Befehlszeile hinzu:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:PROJECT_ID.svc.id.goog[gke-system/gke-telemetry-agent]" \
--role=roles/gkemulticloud.telemetryWriter
Ersetzen Sie PROJECT_ID
durch Ihre Projekt-ID.
Nächste Schritte
- Informationen zum zentralen Clusterereignis-Logging von Google finden Sie unter Cloud Logging.
- Informationen zu den Cloud Monitoring-Tools von Google finden Sie unter Cloud Monitoring.
- Informationen zum Installieren der zentralen Konfigurationsverwaltung finden Sie unter Cluster mit Config Controller konfigurieren.
Weitere Informationen zu Terraform GKE on AWS-Skripts finden Sie unter