Sie betrachten die Dokumentation für eine frühere Version von GKE On-Prem. Sehen Sie sich die aktuelle Dokumentation an.

Preflight-Prüfungen ausführen

In diesem Thema wird erläutert, wie Sie Preflight-Prüfungen für Ihre GKE On-Prem-Konfigurationsdatei ausführen.

Überblick

Während der Installation führen Sie gkectl create-config aus, um eine GKE On-Prem-Konfigurationsdatei zu generieren. Die Konfigurationsdatei steuert Ihre Installation: Sie stellen Informationen zu Ihrer vSphere-Umgebung, Ihrem Netzwerk und Ihrem Load-Balancer sowie zur gewünschten Clusterkonfiguration bereit. Sie können eine Konfigurationsdatei vor oder nach der Erstellung einer Administrator-Workstation anlegen. Damit bestimmte Prüfungen erfolgreich sind, müssen sie auf der Administrator-Workstation ausgeführt werden.

Nachdem Sie die Datei an die Anforderungen Ihrer Umgebung und Ihrer Cluster angepasst haben, verwenden Sie die Datei, um Ihre Cluster in Ihrer lokalen Umgebung zu erstellen.

Bevor Sie Cluster erstellen, werden Sie ausgeführt gkectl check-config um die Konfigurationsdatei mit mehreren Preflight-Prüfungen zu validieren.

Preflight-Prüfmodi und Validierungen überspringen

gkectl check-config hat einen Standardmodus und einen Schnellmodus:

  • Im Standardmodus validiert der Befehl jedes Feld umfassend. Außerdem erstellt der Standardmodus temporäre virtuelle Maschinen (VMs) von vSphere als Teil seiner Validierungen, was mehr Zeit in Anspruch nehmen kann.
  • Im Schnellmodus überspringt der Befehl Prüfungen, die Test-VMs erstellen, und führt nur die schnellen Prüfungen aus. Wenn Sie das Flag --fast übergeben, wird der Schnellmodus aktiviert.

Sie können bestimmte Validierungen überspringen, indem Sie andere Flags übergeben, die unter gkectl check-config --help beschrieben werden.

Wann sollte ich Preflight-Prüfungen durchführen?

Sie sollten Preflight-Prüfungen früh und noch vor dem Erstellen von Clustern ausführen. Wenn Sie Preflight-Prüfungen frühzeitig ausführen, können Sie prüfen, ob Sie Ihre vSphere-Umgebung und Ihr Netzwerk korrekt konfiguriert haben.

Wenn Sie die GKE On-Prem-Version 1.2.0-gke.6 verwenden, führen Sie gkectl check-config zweimal aus:

  1. Führen Sie gkectl check-config --fast aus.

  2. Führen Sie gkectl prepare aus.

  3. Führen Sie gkectl check-config noch einmal ohne das Flag --fast aus.

Der Grund für die zweimalige Ausführung ist, dass gkectl prepare die VM-Vorlage für das Betriebssystem-Image des Clusterknotens in Ihre vSphere-Umgebung hochlädt. Diese VM-Vorlage muss vorhanden sein, bevor Sie alle Validierungen ausführen können.

In der GKE On-Prem-Version 1.2.1 und höher wird mit dem Befehl check-config bereits die VM-Vorlage hochgeladen, sodass Sie alle Validierungen durchführen können, bevor Sie gkectl prepare ausführen:

  1. Führen Sie gkectl check-config ohne das Flag --fast aus.

  2. Führen Sie gkectl prepare aus.

Die Preflight-Prüfungen validieren die Werte, die Sie der Datei angegeben haben. Sie müssen nicht jedes Feld in der Konfigurationsdatei ausgefüllt haben, um Preflight-Prüfungen für die Datei durchzuführen. Vielmehr können Sie die Datei beim Ausfüllen ihrer Felder iterativ validieren. Wenn Sie beispielsweise nur Ihre vCenter-Konfiguration validieren möchten, können Sie nur die vcenter-Felder ausfüllen und Prüfungen für diese ausführen.

Beachten Sie, dass nach dem Erstellen Ihres Clusters Ihre GKE On-Prem-Konfiguration nicht mehr verändert werden kann. Durch Ausführen von Preflight-Prüfungen können Sie Probleme in Ihrer Konfiguration erkennen und beheben, bevor Sie Cluster erstellen.

Test-VM für das Debugging beibehalten

Ab der GKE On-Prem-Version 1.2.1 verfügt der gkectl check-config-Befehl über das Flag --cleanup.

Wenn gkectl check-config einen vollständigen Satz von Validierungen durchführt, werden eine Test-VM und ein zugehöriger SSH-Schlüssel erstellt. Wenn Sie die Test-VM und den SSH-Schlüssel für Debugging-Zwecke beibehalten möchten, setzen Sie --cleanup auf "false".

Der Standardwert von --cleanup ist "true".

Liste der Preflight-Prüfungen

Die Preflight-Prüfungen validieren jedes Feld in der Konfigurationsdatei. Dies sind die aktuellen Überprüfungen:

Kategorie Beschreibung
Konfigurationsdatei

Validiert allgemein, dass jedes Feld und jede Spezifikation das erwartete Format und die erwarteten Werte aufweist.

Übersprungen mit dem Flag --skip-validation-config.

Überspringen Sie die Validierung des Feldes proxy mit dem Flag --skip-validation-proxy.

Internet

Prüft den Internetzugriff auf erforderliche Domains. Prüft die Proxykonfiguration hinsichtlich des Orts, an dem Sie gkectl ausführen.

Übersprungen mit dem Flag --skip-validation-internet.

Google Cloud
Projekt-ID
[*].projectid
Prüft die Projekt-IDs, die in verschiedenen Felder in der Konfiguration angegeben werden. Wenn die Projekt-ID fehlt, wird die Validierung übersprungen.
Dienstkonto registrieren
registerserviceaccountkeypath
Prüft, ob das Dienstkonto die erforderlichen IAM-Rollen enthält. Validiert, dass die erforderlichen APIs aktiviert sind.
Dienstkonto verbinden
agentserviceaccountkeypath
Prüft, ob das Dienstkonto die erforderlichen IAM-Rollen enthält. Validiert, dass die erforderlichen APIs aktiviert sind.
Dienstkonto der Operations-Suite von Google Cloud
stackdriver.serviceaccountkeypath
Prüft, ob das Dienstkonto die erforderlichen IAM-Rollen enthält. Validiert, dass die erforderlichen APIs aktiviert sind.
Übersprungen mit dem Flag --skip-validation-gcp.
Zugriff auf gcr.io/gke-on-prem-release Prüft den Zugriff auf die in Container Registry gehostete Container-Image-Registry von GKE On-Prem.

Übersprungen vom Flag --skip-validation-docker.

Docker-Registry
privateregistryconfig
Falls konfiguriert, wird der Zugriff auf die Docker-Registry geprüft.

Übersprungen mit dem Flag --skip-validation-docker.

vCenter Prüft, ob alle vcenter-Felder vorhanden sind, und prüft außerdem Folgendes:
Anmeldedaten
vcenter.credentials.[*]
Prüft die Authentifizierung bei dem vCenter-Server mithilfe der angegebenen Nutzeranmeldedaten.
vSphere-Version Prüft, ob vSphere in der Version 6.5 oder 6.7 Update 3 vorhanden ist.
Rechenzentrum
vcenter.datacenter
Prüft das Vorhandensein des vSphere-Rechenzentrums.
Datenspeicher
vcenter.datastore
Prüft, ob der vSphere-Datenspeicher vorhanden ist.
Datenlaufwerk
vcenter.datadisk
Validiert, dass das virtuelle VM-Laufwerk (VMDK) von vSphere nicht bereits in vSphere vorhanden ist.
Ressourcenpool
vcenter.resourcepool
Prüft, ob der vSphere-Ressourcenpool vorhanden ist.
Netzwerk
vcenter.network
Prüft das Vorhandensein des vSphere-Netzwerks.

Übersprungen mit dem Flag --skip-validation-infra.

Load-Balancer

Prüft die Load-Balancing-Konfiguration:

  • Bei Load-Balancing im integrierten Modus (lbmode: Integrated), wird geprüft, ob alle bigip-Felder in den Spezifikationen admincluster und usercluster vorhanden sind.
  • Bei Load-Balancing im manuellen Modus (lbmode: Manual), wird geprüft, ob alle manuallbspec-Felder in den Spezifikationen admincluster und usercluster vorhanden sind.
Integriertes Load-Balancing
bigip.credentials.[*] Prüft Ihre F5 BIG-IP-Anmeldedaten.
bigip.partition Prüft, ob die bereitgestellte Partition vorhanden ist.
F5 BIG-IP-Nutzerrolle Prüft, ob der angegebene F5 BIG-IP-Nutzer die Rolle "Administrator" oder "Ressourcenadministrator" hat.
bigip.vips.[*] Prüft die angegebenen VIPs.

Übersprungen mit dem Flag --fast oder --skip-validation-load-balancer.

Manuelles Load-Balancing
Netzwerkkonfiguration Prüft VIPs, Knoten-IP-Adressen usw.

Übersprungen mit dem Flag --fast oder --skip-validation-load-balancer.

[*].manuallbspec.[*] Prüft die angegebenen Knotenports.
Übersprungen mit dem Flag --skip-validation-load-balancer.
Netzwerk

Prüft, ob die angegebenen CIDR-Bereiche, VIPs und statischen IP-Adressen (falls konfiguriert) verfügbar sind. Prüft, ob sich die IP-Adressen nicht überschneiden.

Übersprungen mit dem Flag --skip-validation-net-config.

DNS

Prüft, ob der bereitgestellte DNS-Server verfügbar ist.

Übersprungen mit dem Flag --skip-validation-dns.

NTP

Prüft, ob der angegebene NTP-Server (Network Time Protocol) verfügbar ist.

Übersprungen mit dem Flag --skip-validation-tod.

VIPs

Sendet Pings an die VIPs. Diese Prüfung ist erfolgreich, wenn der Ping fehlschlägt, was darauf hinweist, dass die VIP nicht bereits verwendet wird.

Übersprungen mit dem Flag --skip-validation-vips.

Knoten-IP-Adressen

Pingt die angegebenen Knoten-IP-Adressen an. Diese Prüfung ist erfolgreich, wenn der Ping fehlschlägt. Dies zeigt an, dass die Knoten-IP-Adresse nicht bereits verwendet wird.

Übersprungen mit dem Flag --skip-validation-node-ips.

Ergebnisse der Preflight-Prüfung

Preflight-Prüfungen können folgende Ergebnisse liefern:

ERFOLGREICH
Das Feld und sein Wert haben die Prüfung bestanden.
FEHLER
Das Feld und/oder sein Wert haben die Prüfung nicht bestanden. Wenn eine Prüfung eine FAILURE-Nachricht zurückgibt, beheben Sie die Probleme und prüfen Sie die Datei noch einmal.
ÜBERSPRUNGEN

Die Prüfung wurde übersprungen, wahrscheinlich weil sie für Ihre Konfiguration nicht relevant ist. Wenn Sie beispielsweise einen DHCP-Server verwenden, werden Prüfungen für DNS- und Knoten-IP-Adressen, die nur für eine statische IP-Konfiguration relevant sind, übersprungen.

Wenn Sie ein Flag übergeben, das eine Validierung überspringt, gibt die übersprungene Prüfung nicht das Ergebnis ÜBERSPRUNGEN zurück. Stattdessen wird die Validierung nicht ausgeführt und erscheint überhaupt nicht in der Befehlsausgabe.

UNBEKANNT

Beim Überspringen wurde ein Code ungleich null zurückgegeben. Unbekannte Ergebnisse können als fehlgeschlagene Prüfungen angesehen werden. UNBEKANNT bedeutet in der Regel, dass bei der Prüfung ein Systempaket nicht ausgeführt werden konnte, z. B. wenn nslookup oder gcloud nicht ausgeführt werden konnte.

Demnächst verfügbar

Die folgenden Preflight-Prüfungen werden in einem zukünftigen Release hinzugefügt:

  • NTP-Server

Preflight-Prüfungen ausführen

Führen Sie mit dem folgenden Befehl Preflight-Prüfungen aus:

gkectl check-config --config [CONFIG]

Dabei ist [CONFIG] der Pfad zu Ihrer GKE On-Prem-Konfigurationsdatei.

Im Schnellmodus ausführen

Sie können die Preflight-Prüfungen auch im "Schnellmodus" ausführen. Dadurch werden die Validierungen übersprungen, die temporäre Test-VMs erstellen, z. B. die Validierung der Load-Balancing-VIPs und der Knoten-IPs. Übergeben Sie dazu --fast:

gkectl check-config --config [CONFIG] --fast

Bestimmte Validierungen überspringen

Sie können Flags detailliert übergeben, um bestimmte Validierungen, wie DNS, Proxy und Netzwerke, zu überspringen. Jedes Überspringungskennzeichen hat das Präfix --skip-[VALIDATION].

Führen Sie den folgenden Befehl aus, um mehr über die verfügbaren Flags zum Überspringen zu erfahren. Sehen Sie sich optional die Referenz zu gkectl check-config an:

gkectl check-config --help

So überspringen Sie beispielsweise die Load-Balancer-Validierungen:

gkectl check-config --config my-config.yaml --skip-validation-load-balancer 

Preflight-Prüfungen abbrechen

Wenn Sie mit der Durchführung von Preflight-Prüfungen begonnen haben und diese abbrechen möchten, drücken Sie zweimal Strg + C. Wenn eine Preflight-Prüfung eine Test-VM erstellt hat, sollte die VM ebenfalls automatisch gelöscht werden.

Test-VM bereinigen

Wenn eine Test-VM noch vorhanden ist, nachdem die Preflight-Prüfungen abgeschlossen sind, können Sie die VM aus vCenter löschen. Eine Test-VM hat den folgenden Namen:

check-config-[dhcp|static]-[random number]

So löschen Sie die VM:

  1. Klicken Sie mit der rechten Maustaste auf die VM und wählen Sie Power > Power Off aus.

  2. Nachdem die VM ausgeschaltet wurde, klicken Sie noch einmal mit der rechten Maustaste auf die VM und klicken Sie auf Delete from Disk.

Beispiel

Unten sehen Sie ein Beispiel für das Verhalten des Befehls. In diesem Beispiel verwendet die validierte Konfiguration einen integrierten Load-Balancing-Modus und statische IP-Adressen ohne externe Docker-Registry:

gkectl check-config --config config.yaml
- Validation Category: Config Check
    - [SUCCESS] Config

- Validation Category: Internet Access
    - [SUCCESS] Internet access to required domains

- Validation Category: GCP
    - [SUCCESS] GCP Service
    - [SUCCESS] GCP Service Account

- Validation Category: Docker Registry
    - [SUCCESS] gcr.io/gke-on-prem-release access

- Validation Category: vCenter
    - [SUCCESS] Credentials
    - [SUCCESS] Version
    - [SUCCESS] Datacenter
    - [SUCCESS] Datastore
    - [SUCCESS] Data Disk
    - [SUCCESS] Resource Pool
    - [SUCCESS] Network

- Validation Category: F5 BIG-IP
    - [SUCCESS] Admin Cluster F5 (credentials, partition and user role)
    - [SUCCESS] User Cluster F5 (credentials, partition and user role)

- Validation Category: Network Configuration
    - [SUCCESS] CIDR, VIP and static IP (availability and overlapping)

- Validation Category: DNS
    - [SUCCESS] DNS (availability)

- Validation Category: VIPs
    - [SUCCESS] ping (availability)

- Validation Category: Node IPs
    - [SUCCESS] ping (availability)

Now running slow validation checks (creates test VM); use flag --fast to disable.
- Validation Category: F5 BIG-IP
    - [SUCCESS] Admin Cluster VIP and NodeIP
    - [SUCCESS] User Cluster VIP and NodeIP

All validation results were SUCCESS.

Bekanntes Problem

Wenn Sie in der lokalen GKE-Version 1.2.0-gke.6 verschachtelte Ressourcenpools oder den Standardressourcenpool verwenden, schlägt gkectl check-config fehl, wenn Sie versuchen, einen vollständigen Satz von Validierungen durchzuführen. Sie können jedoch einen kleineren Satz von Validierungen machen, indem Sie das Flag --fast übergeben.

gkectl check-config --config [CONFIG] --fast

Dieses Problem wird in Version 1.2.1 behoben.

Nächste Schritte