GKE On-Prem – Übersicht

GKE On-Prem ist eine Hybrid-Cloud-Software, die Google Kubernetes Engine (GKE) in lokale Rechenzentren verfügbar macht. Mit GKE On-Prem können Sie Kubernetes-Cluster in Ihrer lokalen Umgebung erstellen, verwalten und aktualisieren und diese Cluster mit der Google Cloud Console verbinden.

In diesem Thema erhalten Sie einen technischen Überblick über GKE On-Prem. Informieren Sie sich anschließend über die Systemanforderungen.

Informationen zu Kubernetes

GKE On-Prem und GKE basieren auf Kubernetes, einer erweiterbaren Open-Source-Plattform zum Verwalten von Containeranwendungen. Kubernetes orchestriert Cluster, bei denen es sich um Knoten handelt (die auch als "Maschinen" bezeichnet werden), die Containeranwendungen ausführen.

GKE On-Prem beziehen

GKE On-Prem ist eine Kernkomponente von Anthos. Wenn Sie GKE On-Prem verwenden möchten, müssen Sie sich zuerst an das Vertriebsteam von Google wenden und ein Anthos-Abo erwerben.

Vorbereitungen für GKE On-Prem

Die Installation von GKE On-Prem erfordert einige obligatorische Aufgaben zur Einrichtung. In den folgenden Abschnitten werden diese Aufgaben beschrieben.

VMware vSphere-Virtualisierungsumgebung

Sie installieren GKE On-Prem auf einem VMware vSphere 6.5-Cluster, der in Ihrer lokalen Umgebung ausgeführt wird. vSphere ist die Servervirtualisierungssoftware von VMware.

Sie erwerben auch VMware vCenter und VMware ESXi. ESXi ist ein Hypervisor vom Typ 1, den Sie auf einer Reihe von physischen Hosts/Servern in Ihrem Rechenzentrum installieren. vCenter ist die webbasierte Benutzeroberfläche von vSphere zum Verwalten von Diensten für Rechenzentren. Sie bietet eine zentrale Ansicht aller ESXi-Hosts.

Insbesondere benötigen Sie die folgenden lizenzierten VMware-Produkte:

  • VMware ESXI 6.5 mit einer Enterprise Plus-Lizenzversion, installiert auf einer Reihe von Hosts in Ihrem Rechenzentrum
  • VMware vCenter 6.5 mit einer Standard-Lizenzversion, installiert auf einem Host in Ihrem Rechenzentrum

Weitere Informationen finden Sie in den folgenden VM-Ressourcen:

Load-Balancing

Beim Load-Balancing der Ebene 4 können Sie zwischen zwei Load-Balancing-Modi wählen: integriert oder manuell. Der integrierte Modus unterstützt F5 BIG-IP (den integrierten Load-Balancer von GKE On-Prem). Im manuellen Modus können Sie einen beliebigen Load-Balancer auswählen. GKE On-Prem bietet derzeit dokumentierte Anleitungen für die folgenden Load-Balancer:

Sie konfigurieren einen Load-Balancer in Ihrem Rechenzentrum, bevor Sie GKE On-Prem installieren. Bei der Installation wählen Sie aus, ob der integrierte (F5 BIG-IP) oder der manuelle Load-Balancing-Modus (ein Load-Balancer Ihrer Wahl) aktiviert werden soll. Beim manuellen Load-Balancing-Modus müssen Sie Ihren Knoten statische IP-Adressen zuweisen. DHCP-Server (Dynamic Host Configuration Protocol) können beim manuellen Load-Balancing-Modus nicht verwendet werden.

Authentifizierung

Wenn Sie Clients haben, die sich bei Ihren Clustern authentifizieren und auf Ihre Containerarbeitslasten zugreifen müssen, können Sie OpenID Connect (OIDC) mit einem Anbieter Ihrer Wahl oder mit Active Directory Federated Services (ADFS) verwenden.

Google Cloud-Projekt vorbereiten

Die Vorbereitung Ihres Google Cloud-Projekts umfasst Folgendes:

  • Erstellen eines Google Cloud-Projekts und Aktivieren der erforderlichen APIs
  • Binden von IAM-Rollen (Identity and Access Management) an die Dienstkonten
  • Herunterladen der erforderlichen Befehlszeilentools, einschließlich HashiCorp Terraform, Version 11

Weitere Informationen finden Sie unter den folgenden Themen:

Administrator-Workstation erstellen

Das Erstellen der Administrator-Workstation umfasst Folgendes:

  • Herunterladen der OVA-Datei für die Administrator-Workstation, die eine GKE On-Prem-Bundle-Datei enthält
  • Kopieren einer Terraform-Konfigurationsdatei (TF) und einer Terraform-Variablendatei (DFVARS) und Ändern der Dateien, sodass Ihre vCenter- und vSphere-Konfiguration widergespiegelt wird
  • Verwenden von Terraform zum Erstellen einer virtuellen Administrator-Workstation (VM) in vSphere

Weitere Informationen finden Sie unter den folgenden Themen:

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: (siehe auch Übersicht über die Installation)

  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.
  3. Sie ändern die Konfigurationsdatei mit Werten, die Ihren Anforderungen und Ihrer Umgebung entsprechen, beispielsweise den Spezifikationen Ihres Clusters, der OIDC-Authentifizierung, dem Load-Balancing, Stackdriver Logging und dem Google Cloud-Projekt, mit dem Sie sich registrieren möchten.

  4. Sie führen gkectl check-config aus, um zu validieren, ob die geänderte Konfigurationsdatei für eine Installation verwendet werden kann.

  5. 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, werden mit diesem Befehl auch Container-Images von GKE On-Prem in die Registry verschoben.

  6. Sie führen gkectl create cluster --config mit der Konfigurationsdatei aus, um die GKE On-Prem-Cluster in Ihrem Rechenzentrum zu erstellen.

Am Ende einer erfolgreichen Installation sollte in vSphere Folgendes vorhanden sein:

Architektur

Diagramm, das die GKE On-Prem-Architektur beschreibt, wenn eine Nutzersteuerungsebene bereitgestellt wird
Abbildung: GKE On-Prem-Architektur mit einer Nutzersteuerungsebene. (Zum Vergrößern klicken)

In GKE On-Prem gibt es einen Administratorcluster und standardmäßig drei Nutzercluster. Es gibt auch zwei Add-on-VMs und eine Administrator-Workstation-VM. Alle diese VMs werden in einem einzigen vSphere-Cluster ausgeführt.

Administrator-Workstation

Die Administrator-Workstation ist die VM in vSphere, von der aus Clusteradministratoren GKE On-Prem installieren und damit interagieren. Es ist die erste VM, die Sie erstellen, bevor Sie weitere Elemente erstellen.

Als Clusteradministrator verwenden Sie Terraform, um die Administrator-Workstation in vSphere zu erstellen. Die Administrator-Workstation umfasst Folgendes:

Zum Erstellen der Administrator-Workstation laden Sie drei Dateien herunter:

  • Die Open Virtual Appliance (OVA)-Datei der Administrator-Workstation. Dies ist ein versioniertes VM-Image der Administrator-Workstation. Sie importieren diese Datei in vSphere und markieren sie als VM-Vorlage. Anschließend verwendet Terraform die Vorlage, um die Administrator-Workstation in Ihrem vSphere-Cluster bereitzustellen.
  • Terraform-Konfigurationsdatei (TF). Anhand dieser Anweisungen erstellt Terraform die Administrator-Workstation in Ihrem Cluster. Sie kopieren diese Datei auf Ihre lokale Workstation oder Ihren Laptop.
  • Terraform-Konfigurationsvariablen-Datei (TFVARS). Sie füllen die Variablen in dieser Datei mit Werten aus Ihrer Umgebung. Die TF-Konfigurationsdatei verweist auf die Variablen der DFVARS-Datei. Sie kopieren diese Datei auf Ihre lokale Workstation oder Ihren Laptop.

Administratorcluster

Der Administratorcluster ist die Basisebene von GKE On-Prem. Sie führt die folgenden GKE On-Prem-Komponenten aus:

  • Administratorsteuerungsebene: Die Administratorsteuerungsebene verarbeitet alle gkectl- und Kubernetes API-Aufrufe an und von GKE On-Prem. Die Administratorsteuerungsebene führt einige Aufrufe an und von vCenter-APIs aus.
  • Nutzersteuerungsebenen: Die Steuerungsebene eines Nutzerclusters. Leitet API-Anfragen an die Knoten des Clusters weiter. Jeder Cluster hat eine eigene Steuerungsebene, die im Administratorcluster ausgeführt wird. Nutzersteuerungsebenen führen auch einige Aufrufe an und von vCenter-APIs aus.
  • 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

Nutzercluster: Hier können Sie Ihre Containerarbeitslasten und Dienste bereitstellen und ausführen.

Add-on-VMs

GKE On-Prem erstellt zwei VMs, um die Add-ons des Administratorclusters auszuführen, beispielsweise Grafana, Prometheus, Istio-Komponenten und Stackdriver.

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:

  • TAR-Datei mit Container-Images aller Clusterkomponenten
  • 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. Jedes Mal, wenn Sie ein Upgrade Ihrer Cluster ausführen, laden Sie das Bundle der jeweiligen Version unter Downloads herunter. Das Upgrade-Bundle enthält nur YAML-Konfigurationsdateien, mit denen die Clusterkomponenten aktualisiert werden.

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, und Sie können damit Ihren vSphere-Cluster verwalten.

terraform

terraform ist die Befehlszeilenschnittstelle zu HashiCorp Terraform. Mit terraform erstellen und aktualisieren Sie die Administrator-Workstation.

gkectl

gkectl ist die Befehlszeile von GKE On-Prem. Weitere Informationen finden Sie im Leitfaden.

Sie verwenden gkectl für viele Aufgaben der Clusterverwaltung. Hierzu zählen Folgende:

  • Cluster erstellen und verwalten
  • Probleme diagnostizieren und beheben
  • Clusterlogs erfassen und exportieren

kubectl

kubectl ist die Befehlszeilenschnittstelle zu Kubernetes. Sie verwenden kubectl zur Interaktion mit Kubernetes und Kubernetes-Clustern sowie für Aufgaben wie:

  • In Clustern ausgeführte Containerarbeitslasten 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 ein Connect-Agent in jedem Nutzercluster erstellt. Der Connect-Agent ist eine Bereitstellung, mit der eine langlebige, verschlüsselte Verbindung zu Google Cloud über den Nutzercluster hergestellt wird, auf dem er ausgeführt wird.

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.

Fehlerbehebung und Diagnostizieren von Problemen

Informationen zur Fehlerbehebung finden Sie in den folgenden Themen:

Platzhalterwerte in der GKE On-Prem-Dokumentation

Wenn Sie die Dokumentation zu GKE On-Prem verwenden, können Sie placeholder values in Codeblöcken ändern, wenn Sie darauf klicken. Klicken Sie im folgenden Block auf [YOUR_NAME] und prüfen Sie, ob der Wert bearbeitet werden kann:

Enter your name: [YOUR_NAME]

Dies kann nützlich sein, wenn Sie Platzhalterwerte eingeben möchten, bevor Sie Befehle kopieren und in Ihrer Umgebung ausführen.

Weitere Informationen

Lesen Sie als Nächstes das Thema Systemanforderungen, um zu erfahren, wie Sie Ihre lokale Umgebung vorbereiten.