In Anthos-Cluster on Bare Metal können Sie Preflight-Prüfungen für verschiedene Situationen ausführen:
- Anthos-Cluster on Bare Metal führt Preflight-Prüfungen durch, wenn Sie Administrator-, Hybrid- oder Standalone-Cluster und Knotenpools mit
bmctl
erstellen oder aktualisieren. Wenn die Prüfungen fehlschlagen, werden keine Änderungen vorgenommen. Sie können diese Prüfungen auch umgehen. - Außerdem führt Anthos-Cluster on Bare Metal interne Preflight-Prüfungen durch, wenn Sie Kubernetes-Ressourcen von einem Administrator- oder Hybridcluster auf Nutzercluster anwenden. Die Prüfungen werden ausgeführt, bevor die Änderungen auf die betroffenen Nutzercluster angewendet werden. Wenn die Prüfungen fehlschlagen, werden keine Änderungen vorgenommen. Sie können diese Prüfungen auch umgehen oder explizit ausführen.
Preflight-Prüfung beim Erstellen von Clustern mit bmctl
Wenn Sie Administrator-, Hybrid-, Standalone oder Nutzer-Cluster mit dem Befehl bmctl
erstellen, führt Anthos-Cluster on Bare Metal automatisch Preflight-Prüfungen aus, bevor Änderungen vorgenommen werden.
Wenn die Prüfungen bestanden werden, erstellt Anthos-Cluster on Bare-Metal die Cluster.
Ergebnisse der automatisierten Preflight-Prüfungen ignorieren
Wenn Sie diese automatisierten Preflight-Prüfungen umgehen möchten, können Sie das optionale Flag --force
im Befehl verwenden.
Preflight-Prüfungen unabhängig ausführen
Sie können Preflight-Prüfungen auch eigenständig ausführen, bevor Sie einen Cluster erstellen, um sicherzugehen, dass Ihre Maschinen- und Knotenressourcen Prüfungen bestehen.
Der folgende Befehl validiert die angegebene Cluster-Konfigurationsdatei, versucht jedoch nicht, den Cluster selbst zu erstellen:
bmctl check config --cluster CLUSTER_NAME
Dieser Befehl prüft, ob die Maschinen und das Netzwerk für die Clustererstellung bereit sind:
bmctl check preflight --cluster CLUSTER_NAME
Nur Anthos-Cluster on Bare-Metal-Versionen 1.7.0 und höher unterstützen das Erstellen von Nutzerclustern mit bmctl
.
Preflight-Prüfungen für die Erstellung von Nutzerclustern
Nutzercluster werden von einem vorhandenen Administrator- oder Hybridcluster erstellt. Bei Anthos-Clustern auf Bare-Metal werden vor der Durchführung von Änderungen automatisch Preflight-Prüfungen durchgeführt. Sie können Preflight-Prüfungen auch mit kubectl
ausführen, bevor Sie einen Cluster erstellen.
Erstellen Sie eine Nutzercluster-Konfigurationsdatei, indem Sie die Schritte unter Nutzercluster in einer Multi-Cluster-Einrichtung erstellen ausführen.
Erstellen Sie einen Namespace für den neuen Nutzercluster. Wenn Sie beispielsweise einen neuen Nutzercluster namens
user1
erstellen möchten, können Sie einen Namespace namenscluster-user1
erstellen. Hier sehen Sie den Befehlkubectl
zum Erstellen des Namespace. Dabei gibt ADMIN_KUBECONFIG den Pfad zur Administratorclusterdateikubeconfig
an:kubectl --kubeconfig ADMIN_KUBECONFIG create namespace cluster-user1
Lade deine private SSH-Schlüsseldatei als Secret hoch, um deine Anmeldedaten festzulegen. Hier sehen Sie ein Beispielbefehl, wobei ADMIN_KUBECONFIG den Pfad zur Administratorclusterdatei
kubeconfig
angibt und SSH_PRIVATE_KEY_FILE_PATH den Pfad zur privaten SSH-Schlüsseldatei angibt:kubectl --kubeconfig ADMIN_KUBECONFIG create secret generic ssh-key -n cluster-user1 --from-file=id_rsa=SSH_PRIVATE_KEY_FILE_PATH
Erstellen Sie eine neue YAML-Datei für die Precheck-Prüfung mit der folgenden Struktur. Geben Sie im Feld
configYAML
den Textinhalt der Konfigurationsdatei des Nutzerclusters ein, die Sie in Schritt 1 erstellt haben:apiVersion: baremetal.cluster.gke.io/v1 kind: PreflightCheck metadata: generateName: preflightcheck- namespace: cluster-user1 spec: configYAML: | # insert user cluster config file content here.
Verwenden Sie den Befehl
kubectl
, um die Preflight-Prüfung für den Nutzercluster auszuführen:kubectl --kubeconfig ADMIN_KUBECONFIG create -f USER_CLUSTER_PREFLIGHT_CHECK_CONFIG
Ersetzen Sie Folgendes:
ADMIN_KUBECONFIG
: Pfad zur Datei „kubeconfig“ des AdministratorclustersUSER_CLUSTER_PREFLIGHT_CHECK_CONFIG
: Pfad zur YAML-Datei für die Preflight-Prüfung, die Sie im vorherigen Schritt erstellt haben
Für einen Administratorcluster mit dem Namen
cluster1
und eine Preflight-Prüfung zur Konfiguration des Nutzerclusters mit dem Namenuser1-preflight.yaml
lautet der Befehl beispielsweise:kubectl --kubeconfig bmctl-workspace/cluster1/cluster1-kubeconfig create -f user1-preflight.yaml
Das System gibt die folgende Nachricht mit der Job-ID der Preflight-Prüfung zurück:
preflightcheck.baremetal.cluster.gke.io/preflightcheck-g7hfo4 created
Fragen Sie den Status des Preflight-Prüfjobs mit dem Befehl
kubectl
ab:kubectl --kubeconfig bmctl-workspace/cluster1/cluster1-kubeconfig -n cluster-user1 get preflightchecks preflightcheck-g7hfo4
Wenn der Preflight-Prüfjob fehlschlägt, überprüfen Sie seinen Status und prüfen Sie dann in den detaillierten Joblogs, welche Diagnose fehlgeschlagen ist. Beheben Sie die in den Jobs erwähnten Probleme und führen Sie die Prüfungen noch einmal aus.
Interne Preflight-Prüfungen für vorhandene Cluster
Anthos-Cluster on Bare Metal führt ebenfalls interne Preflight-Prüfungen durch, wenn Sie Kubernetes-Ressourcen auf einen vorhandenen Administrator- oder Hybridcluster anwenden. Wenn eine Prüfung fehlschlägt, nimmt Anthos-Cluster on Bare Metal keine Änderungen an den zugehörigen Knoten vor, es sei denn, Sie haben die Prüfungen umgangen.
Preflight-Prüfungen beim Anwenden von Kubernetes-Ressourcen umgehen
Wenn Sie die internen Preflight-Prüfungen beim Anwenden von Ressourcen auf vorhandene Cluster ignorieren möchten, legen Sie in der YAML-Datei des Clusters das Feld BypassPreflightCheck
auf true
fest.
Hier ist ein Fragment einer YAML-Datei für die Clusterkonfiguration, in der das Feld bypassPreflightCheck
auf true
gesetzt ist.
# Sample cluster config to bypass preflight check errors: apiVersion: v1 kind: Namespace metadata: name: cluster-user1 --- apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: user1 namespace: cluster-user1 spec: type: user bypassPreflightCheck: true # Anthos cluster version. anthosBareMetalVersion: 1.7.7 ....
Preflight-Prüfungen wieder aktivieren
Sie können explizit eine neue Runde von Preflight-Prüfungen auslösen, sodass Anthos-Cluster on Bare Metal neue Cluster aktualisieren oder erstellen kann, wenn die Preflight-Prüfung erfolgreich abgeschlossen wurde.
Erstellen Sie eine neue YAML-Datei für die Preflight-Prüfung mit folgendem Inhalt. Geben Sie in den Feldern
namespace
undclusterName
den von Ihnen erstellten Clusternamen ein:apiVersion: baremetal.cluster.gke.io/v1 kind: PreflightCheck metadata: generateName: preflightcheck- namespace: CLUSTER_NAMESPACE spec: clusterName: CLUSTER_NAME
Verwenden Sie den Befehl
kubectl
, um die Preflight-Prüfung für den Cluster auszuführen:kubectl --kubeconfig ADMIN_KUBECONFIG create -f CLUSTER_PREFLIGHT_CHECK_CONFIG
Ersetzen Sie Folgendes:
ADMIN_KUBECONFIG
: Pfad zur Datei „kubeconfig“ des AdministratorclustersCLUSTER_PREFLIGHT_CHECK_CONFIG
: Pfad zur zuvor erstellten YAML-Datei der Preflight-Prüfung
Für einen Administratorcluster mit dem Namen
cluster1
und eine Pre-Launch-Konfiguration für Nutzercluster namensuser1-preflight.yaml
lautet der Befehl beispielsweise:kubectl --kubeconfig bmctl-workspace/cluster1/cluster1-kubeconfig create -f user1-preflight.yaml
Das System antwortet mit der Job-ID der Preflight-Prüfung:preflightcheck.baremetal.cluster.gke.io/preflightcheck-g7hfo4 created
Fragen Sie den Status des Jobstatus der Preflight-Prüfung mit dem Befehl
kubectl
ab:kubectl --kubeconfig bmctl-workspace/cluster1/cluster1-kubeconfig -n cluster-cluster1 get preflightchecks preflightcheck-g7hfo4
Wenn die Preflight-Prüfung erfolgreich abgeschlossen wurde, erstellt Anthos-Cluster on Bare Metal den Cluster und seine Ressourcen.
Details zur Installation der Preflight-Prüfung
Anthos-Cluster on Bare Metal prüft verschiedene Betriebssystem-, Software- und Computervoraussetzungen, wenn Preflight-Prüfungen ausgeführt werden.
Weitere Informationen finden Sie im Hilfeartikel Installationsvoraussetzungen.