GKE On-Prem – Übersicht

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:

  • Eine Bundle-Datei.
  • CLI-Tools für die Interaktion mit GKE On-Prem, vSphere und Google Cloud

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:

  1. Sie stellen eine SSH-Verbindung zu Ihrer Administrator-Workstation her.
  2. 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.
  3. Sie führen gkectl check-config aus, um zu prüfen, ob die geänderte Konfigurationsdatei für eine Installation verwendet werden kann.
  4. 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.
  5. 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:

Architektur

Diagramm zur Beschreibung der Architektur von GKE On-Prem 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.