GKE On-Prem ist eine Hybrid-Cloud-Software, die Google Kubernetes Engine (GKE) in lokale Rechenzentren einbindet. Mit GKE On-Prem können Sie Kubernetes-Cluster in Ihrer lokalen Umgebung erstellen, verwalten und aktualisieren und mit der Google Cloud Console verbinden.
Informationen zu Kubernetes
GKE On-Prem und GKE basieren auf Kubernetes, einer erweiterbaren Open-Source-Plattform zum Verwalten von containerisierten Anwendungen. Kubernetes orchestriert Cluster, bei denen es sich um Gruppen von Maschinen (auch "Knoten" genannt) handelt, die containerisierte Anwendungen ausführen.
GKE On-Prem beziehen
GKE On-Prem ist als Kernkomponente in Anthos enthalten.
Auf GKE On-Prem vorbereiten
Sie installieren GKE On-Prem in einem VMware vSphere 6.5-Cluster, der auf Hardware in Ihrer lokalen Umgebung ausgeführt wird. Beim Load-Balancing der Ebene 4 (Layer 4, L4) können Sie F5 BIG-IP verwenden (integrierter Load-Balancer von GKE On-Prem) oder einen anderen L4-Load-Balancer konfigurieren.
Die Vorbereitung umfasst das Einrichten Ihres Google Cloud-Projekts und das Herunterladen der erforderlichen Befehlszeilentools, einschließlich Terraform Version 11. Dazu gehört auch die Verwendung von Terraform zum Erstellen einer virtuellen Administrator-Workstation-Maschine in vSphere.
Informationen zur Administrator-Workstation
Die Administrator-Workstation ist die vSphere-VM, über die Clusteradministratoren GKE On-Prem installieren und damit interagieren.
Als Clusteradministrator verwenden Sie Terraform, um die Administrator-Workstation in vSphere zu erstellen. Zum Erstellen der Administrator-Workstation laden Sie drei Dateien herunter:
- OVA-Datei (Open Virtual Appliance). Dies ist ein VM-Image mit Versionsverwaltung, das eine "VM-Vorlage" für Terraform bereitstellt.
- Terraform-Konfigurationsdatei (TF).
- Terraform-Konfigurationsvariablen-Datei (TFVARS).
Die Administrator-Workstation umfasst Folgendes:
Informationen zum Bundle
Das GKE On-Prem-Bundle ist ein TGZ-Archiv mit Versionsverwaltung, das alle Komponenten enthält, die zum Erstellen und Aktualisieren von GKE On-Prem-Clustern erforderlich sind.
Es gibt zwei Arten von Bundles:
- Vollständiges Bundle
Das vollständige Bundle
gke-onprem-vsphere-[VERSION]-full.tgz
ist in der Administrator-Workstation enthalten. Sie finden es unter/var/lib/gke/bundles
. Das vollständige Bundle wird für die erstmalige Installation von GKE On-Prem verwendet. Dies ist eine große Datei, die Folgendes enthält:- Eine TAR-Datei mit Container-Images aller Clusterkomponenten, die in Clustern bereitgestellt werden.
- YAML-Dateien dieser Clusterkomponenten.
- Knoten-Image von GKE On-Prem
- Upgrade-Bundle
Das Upgrade-Bundle
gke-onprem-vsphere-[VERSION].tgz
wird für das Upgrade von Clustern bereitgestellt. Sie finden es auch unter Downloads. Es enthält nur YAML-Dateien der während der Installation installierten Clusterkomponenten.
So läuft die Installation von GKE On-Prem ab
Im Folgenden finden Sie eine allgemeine Zusammenfassung der Schritte, die während einer Installation ausgeführt werden:
- Sie stellen eine SSH-Verbindung zu Ihrer Administrator-Workstation her.
- Sie führen
gkectl create-config
aus, um eine GKE On-Prem-Konfigurationsdatei zu generieren. Die Konfigurationsdatei deklariert eine Spezifikation für die Installation von GKE On-Prem. Sie können sie an Ihre Anforderungen anpassen. - Sie führen
gkectl check-config
aus, um zu prüfen, ob die geänderte Konfigurationsdatei für eine Installation verwendet werden kann. - Sie führen
gkectl prepare
aus, um das Betriebssystem-Image von GKE On-Prem nach vSphere zu verschieben und als Vorlage für VMs zu markieren. Wenn Sie eine private Docker-Registry konfigurieren, überträgt dieser Befehl auch die Container-Images per Push von GKE On-Prem in die Registry. - Sie führen
gkectl create clusters --config
aus und übergeben dabei die Konfigurationsdatei, um GKE On-Prem deklarativ zu installieren.
Am Ende einer erfolgreichen Installation sollte in vSphere Folgendes vorhanden sein:
- Eine Administrator-Workstation
- Ein Administratorcluster
- Ein Nutzercluster
Architektur
Abbildung: GKE On-Prem-Architektur mit einer Nutzersteuerungsebene
In GKE On-Prem gibt es Administrator- und Nutzercluster.
Administratorcluster
Der Administratorcluster ist die Basisebene von GKE On-Prem. Er führt die folgenden GKE On-Prem-Komponenten aus:
- Administrator-Steuerungsebene: Die Administrator-Steuerungsebene verarbeitet alle
gkectl
- und Kubernetes API-Aufrufe an und von GKE On-Prem sowie alle Aufrufe an vSphere APIs. - Nutzersteuerungsebenen: Die Steuerungsebene eines Nutzerclusters. Leitet API-Anfragen zu den Knoten des Clusters. Jede Clustererstellung hat ihre eigene Steuerungsebene, die im Administratorcluster ausgeführt wird.
- Add-on-VMs: VMs, auf denen die Add-ons des Administratorclusters ausgeführt werden, beispielsweise Grafana, Prometheus, Istio-Komponenten und Stackdriver.
Nutzersteuerungsebenen werden vom Administratorcluster verwaltet. Sie werden auf Knoten in Administratorclustern ausgeführt, nicht in den Nutzerclustern selbst. Zur Verwaltung von Nutzersteuerungsebenen müssen Administratorcluster folgende Aufgaben erledigen:
- Verwalten der Maschinen, auf denen die Nutzercluster-Steuerungsebenen ausgeführt werden
- Erstellen, Aktualisieren und Löschen der Komponenten der Steuerungsebene
- Verfügbarmachen des Kubernetes API-Servers für den Nutzercluster
- Verwalten von Clusterzertifikaten
Nutzercluster
In Nutzerclustern können Sie Ihre containerisierten Arbeitslasten und Dienste bereitstellen und ausführen.
Befehlszeilentools
Beim Installieren von GKE On-Prem laden Sie die folgenden Befehlszeilentools auf Ihre lokale Workstation oder Ihren lokalen Laptop herunter:
govc
terraform
gkectl
kubectl
(im Google Cloud CLI enthalten)gcloud
(in der gcloud CLI enthalten)
govc
govc
ist die Befehlszeilenschnittstelle zu vSphere. Sie verwenden govc
, wenn Sie die Administrator-Workstation erstellen.
terraform
terraform
ist die Befehlszeilenschnittstelle zu HashiCorp Terraform. Mit terraform
erstellen Sie die Administrator-Workstation.
gkectl
gkectl
ist die primäre Befehlszeilenschnittstelle zu GKE On-Prem. Sie verwenden gkectl
für viele Clusterverwaltungsaufgaben, einschließlich:
- Cluster erstellen und verwalten
- Probleme diagnostizieren und beheben
- Clusterlogs erfassen und exportieren
kubectl
kubectl
ist die Befehlszeilenschnittstelle zu Kubernetes. Sie verwenden kubectl
für die Interaktion mit Kubernetes und für Aufgaben wie:
- In Clustern ausgeführte containerisierte Arbeitslasten bereitstellen, verwalten und löschen
- Kubernetes-Ressourcen verwalten, bearbeiten und löschen
gcloud
Das Google Cloud CLI ist die Befehlszeilenschnittstelle zu Google Cloud. Sie verwenden die gcloud CLI für verschiedene Zwecke. Hierzu zählen:
- Authentifizierung gegenüber Ihrem Google Cloud-Projekt durchführen
- Dienstkonten und zugehörige private Schlüssel erstellen
- IAM-Rollen (Identity and Access Management) an Konten binden
Cluster bei der Google Cloud Console registrieren
Wenn Sie GKE On-Prem-Nutzercluster erstellen, können Sie Connect aktivieren, um sie automatisch bei der Google Cloud Console zu registrieren. Mit Connect können Sie Ihre lokalen Kubernetes-Cluster und Ihre Kubernetes-Cluster in der Cloud über dieselbe Google Cloud-Benutzeroberfläche aufrufen und sich bei ihnen anmelden.
Wenn Sie Connect aktivieren, wird in jedem Nutzercluster ein Connect-Agent erstellt. Der Connect-Agent ist ein Deployment, das eine langlebige, verschlüsselte Verbindung von lokalen Clustern zu Google Cloud herstellt.
Das Container-Image des Connect-Agents wird aus einem Container Registry-Repository abgerufen, das sich unter gcr.io
befindet.
Wenn Ihr Nutzercluster keine Verbindung zu gcr.io hat oder haben kann, müssen Sie eine private Docker-Registry verwenden, um eine Verbindung zur Google Cloud Console herzustellen.
Versionsverwaltung
Weitere Informationen zur Versionsverwaltung finden Sie unter Versionen.