Installation vorbereiten

Auf dieser Seite werden einige Schritte beschrieben, die Sie ausführen sollten, bevor Sie GKE On-Prem in Ihrer Umgebung installieren.

Hinweis

Sehen Sie sich die folgenden Themen an:

Beschränkungen

Beschränkung Beschreibung
Höchst- und Mindestwerte für Cluster und Knoten

Siehe Kontingente und Limits. Die Leistung Ihrer Umgebung kann sich auf diese Einschränkungen auswirken.

Eindeutigkeit für Nutzerclusternamen

Alle im selben Google Cloud-Projekt registrierten Nutzercluster müssen eindeutige Namen haben.

Kann nicht in mehr als einem vCenter und/oder vSphere-Rechenzentrum bereitgestellt werden

Derzeit können Sie einen Administratorcluster und eine Reihe von verknüpften Nutzerclustern nur in einem einzelnen vCenter und/oder vSphere Rechenzentrum bereitstellen. Sie können dieselben Administrator- und Nutzercluster nicht in mehr als einem vCenter und/oder vSphere-Rechenzentrum bereitstellen.

Clusterkonfigurationen können nach der Erstellung nicht deklarativ geändert werden Sie können zusätzliche Cluster erstellen und die Größe vorhandener Cluster ändern. Sie können einen vorhandenen Cluster jedoch nicht über seine Konfigurationsdatei ändern.

Google Cloud-Projekt erstellen

Erstellen Sie ein Google Cloud-Projekt, falls Sie noch keines haben. Sie benötigen ein Projekt, um GKE On-Prem auszuführen.

Erforderliche Befehlszeilentools installieren

  • Installieren Sie Google Cloud CLI, einschließlich gcloud, der Befehlszeilenschnittstelle zu Google Cloud.

  • Installieren Sie govc, die Befehlszeilenschnittstelle zu VMware vSphere.

  • Installieren Sie Terraform 0.11, das die terraform-Befehlszeile enthält. Folgen Sie der Installationsanleitung von Terraform, um die Installation zu prüfen und die Variable PATH einzurichten.

Google Cloud CLI zur Verwendung des Proxys bzw. der Firewall von Ihrem Laptop/Computer aus konfigurieren

Wenn Sie einen Proxy verwenden, um über Ihren Laptop oder Computer eine Verbindung zum Internet herzustellen, müssen Sie möglicherweise Google Cloud CLI für den Proxy konfigurieren, damit Sie die gcloud- und gsutil-Befehle ausführen können. Eine Anleitung finden Sie unter gcloud CLI zur Verwendung hinter einem Proxy bzw. einer Firewall konfigurieren.

gcloud für den Zugriff auf Google Cloud autorisieren

Melden Sie sich nach der Installation der gcloud CLI mit Ihren Kontoanmeldedaten in Google Cloud an:

gcloud auth login

Google Cloud-Standardprojekt festlegen

Wenn Sie ein Google Cloud-Standardprojekt festlegen, werden alle gcloud CLI-Befehle für dieses Projekt ausgeführt, sodass Sie es nicht bei jedem einzelnen Befehl angeben müssen. Führen Sie den folgenden Befehl aus, um ein Standardprojekt festzulegen:

gcloud config set project [PROJECT_ID]

Ersetzen Sie [PROJECT_ID] durch Ihre Projekt-ID. Sie können Ihre Projekt-ID in der Google Cloud Console oder durch Ausführen von gcloud config get-value project ermitteln.

Google Cloud-Dienstkonten erstellen

Bevor Sie GKE On-Prem zum ersten Mal installieren, verwenden Sie gcloud, um vier Google Cloud-Dienstkonten zu erstellen. GKE On-Prem verwendet diese Dienstkonten, um in Ihrem Namen Aufgaben auszuführen. In den folgenden Abschnitten wird der Zweck jedes Kontos beschrieben.

Zugriffsdienstkonto

Sie verwenden dieses Dienstkonto, um die Binärdateien von GKE On-Prem aus Cloud Storage herunterzuladen. Es ist das einzige Dienstkonto, das Google auf die Zulassungsliste setzt.

Führen Sie den folgenden Befehl aus, um access-service-account zu erstellen:

gcloud iam service-accounts create access-service-account

Dienstkonto registrieren

Connect verwendet dieses Dienstkonto, um Ihre GKE On-Prem-Cluster bei der Google Cloud Console zu registrieren.

Führen Sie den folgenden Befehl aus, um register-service-account zu erstellen:

gcloud iam service-accounts create register-service-account

Connect-Dienstkonto

Connect verwendet dieses Dienstkonto, um eine Verbindung zwischen GKE On-Prem-Clustern und Google Cloud aufrechtzuerhalten.

Führen Sie den folgenden Befehl aus, um connect-service-account zu erstellen:

gcloud iam service-accounts create connect-service-account

Dienstkonto der Operations-Suite von Google Cloud

Mit diesem Dienstkonto kann GKE On-Prem Logging- und Monitoringdaten in die Operations-Suite von Google Cloud schreiben:

Führen Sie den folgenden Befehl aus, um stackdriver-service-account zu erstellen:

gcloud iam service-accounts create stackdriver-service-account

Projekte und Konten auf die Zulassungsliste setzen

Nachdem Sie Anthos erworben haben, setzt Google Folgendes auf die Zulassungsliste, um Ihnen Zugriff auf GKE On-Prem und Connect zu gewähren:

  • Ihr Google Cloud-Projekt
  • Ihr Google-Konto und einzelne Google-Konten von Teammitgliedern
  • Ihr Dienstkonto für den Zugriff

Wenn Sie ein anderes Projekt oder Dienstkonto verwenden oder zusätzliche Nutzer aktivieren möchten, hilft Ihnen der Google Cloud-Support oder Ihr Technical Account Manager weiter. Stellen Sie über die Google Cloud Console oder das Google Cloud-Supportcenter eine Supportanfrage.

Erforderliche APIs im Projekt aktivieren

Sie müssen in Ihrem Google Cloud-Projekt die folgenden APIs aktivieren:

  • cloudresourcemanager.googleapis.com
  • container.googleapis.com
  • gkeconnect.googleapis.com
  • gkehub.googleapis.com
  • serviceusage.googleapis.com
  • stackdriver.googleapis.com
  • monitoring.googleapis.com
  • logging.googleapis.com

Aktivieren Sie diese APIs mit folgendem Befehl:

gcloud services enable \
cloudresourcemanager.googleapis.com \
container.googleapis.com \
gkeconnect.googleapis.com \
gkehub.googleapis.com \
serviceusage.googleapis.com \
stackdriver.googleapis.com \
monitoring.googleapis.com \
logging.googleapis.com

IAM-Rollen den Dienstkonten zuweisen

IAM (Identity and Access Management) gewährt Konten Berechtigungen zum Aufrufen von Google Cloud APIs. Weisen Sie diesen Dienstkonten zur Berechtigungsisolation dedizierte IAM-Rollen zu.

E-Mail-Adressen von Dienstkonten auflisten

Listen Sie zuerst die Dienstkonten in Ihrem Google Cloud-Projekt auf:

gcloud iam service-accounts list

Für ein Google Cloud-Projekt namens my-gcp-project sieht die Ausgabe dieses Befehls so aus:

gcloud iam service-accounts list
NAME                                    EMAIL
                                        access-service-account@my-gcp-project.iam.gserviceaccount.com
                                        register-service-account@my-gcp-project.iam.gserviceaccount.com
                                        connect-service-account@my-gcp-project.iam.gserviceaccount.com
                                        stackdriver-service-account@my-gcp-project.iam.gserviceaccount.com

Notieren Sie sich die E-Mail-Adressen der einzelnen Konten. Geben Sie in jedem der folgenden Abschnitte die E-Mail-Adresse des entsprechenden Kontos an.

Dienstkonto für Registrierung

Weisen Sie dem Dienstkonto für Registrierung die Rollen gkehub.admin und serviceuseage.serviceUsageViewer zu:

gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[REGISTER_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/gkehub.admin"
gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[REGISTER_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/serviceusage.serviceUsageViewer"

Connect-Dienstkonto

Weisen Sie dem Connect-Dienstkonto die Rolle gkehub.connect zu:

gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[CONNECT_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/gkehub.connect"

Dienstkonto der Operations-Suite von Google Cloud

Weisen Sie dem Dienstkonto der Operations-Suite von Google Cloud die Rollen stackdriver.resourceMetadata.writer, logging.logWriter und monitoring.metricWriter zu:

gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[STACKDRIVER_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/stackdriver.resourceMetadata.writer"
gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[STACKDRIVER_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/logging.logWriter"
gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[STACKDRIVER_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/monitoring.metricWriter"

Logging und Monitoring konfigurieren

Stackdriver Logging und Stackdriver Monitoring sind für GKE On-Prem standardmäßig aktiviert.

Adressen für Ihren Proxy auf die Zulassungsliste setzen

Wenn Ihre Organisation für den Internetzugriff einen HTTP-Proxy benötigt, müssen Sie die folgenden Adressen für Ihren Proxy auf die Zulassungsliste setzen.

In den folgenden Abschnitten werden die Adressen ausführlich erläutert.

Google-Adressen

GKE On-Prem verwendet mehrere Google APIs, um Cluster zu erstellen und zu verwalten. Setzen Sie die folgenden Google-Adressen im Proxy auf die Zulassungsliste:

Adresse Zweck
accounts.google.com Ermöglicht den Zugriff auf Google-Konten, um auf Ihr Google Cloud-Projekt zuzugreifen.
cloudresourcemanager.googleapis.com Erstellt, liest und aktualisiert Metadaten von Google Cloud-Ressourcencontainern.
console.cloud.google.com Ermöglicht den Zugriff auf die Google Cloud Console.
container.googleapis.com Ermöglicht den Zugriff auf die Google Kubernetes Engine API.
gcr.io Ermöglicht den Zugriff auf Container Registry-Repositories, einschließlich des GKE On-Prem-Repositorys.
gkeconnect.googleapis.com Ermöglicht den Zugriff auf Connect, um eine langlebige, verschlüsselte Verbindung zu Google Cloud herzustellen.
gkehub.googleapis.com Ermöglicht Zugriff auf die Google Cloud Console zur Registrierung von Clustern in Ihrem Google Cloud-Projekt.
logging.googleapis.com Ermöglicht den Zugriff auf die Cloud Logging API für Logging-Features von Clustermesswerten.
monitoring.googleapis.com Ermöglicht den Zugriff auf die Cloud Monitoring API für Monitoring-Features für Ihr Cluster.
oauth2.googleapis.com Ermöglicht den Zugriff auf die OAuth2 API von Google für die Authentifizierung.
serviceusage.googleapis.com
storage.googleapis.com Ermöglicht den Zugriff auf Cloud Storage-Buckets.
googleapis.com Ermöglicht den Zugriff auf produktspezifische Google Cloud-Endpunkte.

HashiCorp-Adressen

Sie verwenden HashiCorp Terraform Version 0.11, um in vSphere eine Administrator-Workstation-VM zu erstellen. Zum Ausführen von Terraform in einer Umgebung mit einem Proxy oder einer Firewall müssen Sie die folgenden HashiCorp-Adressen auf die Zulassungsliste setzen:

Adresse Zweck
checkpoint-api.hashicorp.com Ermöglicht den Zugriff auf die Versions- und Benachrichtigungsinformationen von HashiCorp für verschiedene Open-Source- und proprietäre Produkte.
releases.hashicorp.com Ermöglicht den Zugriff auf die Binärdateien von HashiCorp.

VMware, Load-Balancer und andere Adressen

Stellen Sie schließlich sicher, dass Sie die folgenden Adressen bei Ihrem Proxy auf die Zulassungsliste setzen. Diese Adressen können variieren:

Adresse Zweck
IP-Adresse von vCenter Server Ermöglicht vCenter Server den Internetzugriff.
Alle IP-Adressen aller ESXi-Hosts Ermöglichen Internet-Traffic für Ihre ESXi-Hosts, auf denen GKE On-Prem-Cluster ausgeführt werden.
Andere IP-Adressen, die Sie auf Ihrem Load-Balancer konfigurieren möchten. Ermöglichen Internet-Traffic für andere IP-Adressen, z. B. Clients und Arbeitslasten.

Bereiche für Pods und Dienste reservieren

Für den Administratorcluster und für jeden Nutzercluster, den Sie erstellen möchten, müssen Sie zwei verschiedene CIDR-IPv4-Blöcke reservieren: einen für Pod-IP-Adressen und einen für Dienst-IP-Adressen.

Die Größen dieser Bereiche hängen davon ab, wie viele Pods und Dienste Sie erstellen möchten. Wenn Sie beispielsweise weniger als 256 Dienste in einem Cluster erstellen möchten, können Sie einen /24-Bereich für Dienste, z. B. 10.96.233.0/24, einrichten. Wenn Sie weniger als 4.096 Pods in Ihrem Cluster erstellen möchten, können Sie einen /20-Bereich für Pods, z. B. 172.16.0.0/20, festlegen.

Für einen bestimmten Cluster dürfen sich die Bereiche für Dienste und Pods nicht überschneiden. Außerdem dürfen sich diese beiden Bereiche nicht mit IP-Adressen überschneiden, die für Knoten in einem Cluster verwendet werden.

Load-Balancer vorbereiten

GKE On-Prem-Cluster können mit einem der beiden Load-Balancing-Modi ("Integriert" und "Manuell") ausgeführt werden. Beim integrierten Modus werden GKE On-Prem-Cluster mit dem F5 BIG-IP-Load-Balancer ausgeführt. Beim manuellen Modus konfigurieren Sie manuell einen anderen Load-Balancer.

F5 BIG-IP-Partitionen vorbereiten

Wenn Sie den integrierten Modus verwenden, müssen Sie für jeden GKE On-Prem-Cluster, den Sie erstellen möchten, eine F5 BIG-IP-Partition erstellen, die das Load-Balancing verarbeitet.

Zu Beginn müssen Sie mindestens zwei Partitionen erstellen: eine für den Administratorcluster und eine für einen Nutzercluster. Sie müssen eine Partition erstellen, bevor Sie den entsprechenden Cluster erstellen.

Verwenden Sie die Clusterpartitionen nicht für andere Zwecke. Für jeden Ihrer Cluster muss eine Partition vorhanden sein, die ausschließlich durch diesen Cluster verwendet wird.

Weitere Informationen zum Erstellen von Partitionen finden Sie in der Dokumentation zu F5 BIG-IP unter Creating an administrative partition.

Manuellen Load-Balancing-Modus verwenden

Der manuelle Load-Balancing-Modus erfordert mehr Konfiguration als der integrierte Modus. Weitere Informationen finden Sie unter Manuellen Load-Balancing-Modus aktivieren.