Informationen zu Preflight-Prüfungen

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.
  • Sie können eine begrenzte Anzahl von Preflight-Prüfungen ausführen, bevor Sie Nutzercluster von einem Administrator- oder Hybridcluster mit dem Befehl kubectl erstellen.
  • 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 Diagnosen werden ausgeführt, bevor die Änderungen tatsächlich 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- oder Standalone-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 wurden, 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 selbst ausführen, bevor Sie einen Cluster erstellen. Auf diese Weise können Sie Zeit sparen, indem Sie dafür sorgen, dass Ihre Rechner- und Knotenressourcen Prüfungen erfolgreich 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

Beachten Sie, dass Sie keine Nutzercluster mit bmctl erstellen können (und eine Preflight-Prüfung vornehmen, um dies zu verhindern).

Preflight-Prüfungen für die Erstellung von Nutzerclustern

Nutzercluster werden von einem vorhandenen Administrator oder Hybridcluster erstellt und Sie führen kubectl zum Ausführen von Preflight-Prüfungen aus. Auf Grundlage der Ergebnisse dieser Prüfungen können Sie feststellen, ob Fehler vorliegen, und diese vor der Erstellung des Nutzerclusters korrigieren.

Nachdem ein Administrator- oder Hybridcluster erstellt und ausgeführt wurde, können Sie mit kubectl Preflight-Prüfungen ausführen, bevor Sie einen Nutzercluster erstellen.

  1. Erstellen Sie eine Nutzercluster-Konfigurationsdatei, indem Sie die Schritte unter Nutzercluster in einer Multi-Cluster-Einrichtung erstellen ausführen.

  2. 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 namens cluster-user1 erstellen. Hier sehen Sie den Befehl kubectl zum Erstellen des Namespace. Dabei gibt ADMIN_KUBECONFIG den Pfad zur Administratorclusterdatei kubeconfig an:

    kubectl --kubeconfig ADMIN_KUBECONFIG create namespace cluster-user1
    

  3. 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
    

  4. 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.
    
  5. Mit dem folgenden kubectl-Befehl wird die Preflight-Prüfung für den Nutzercluster ausgeführt, wobei ADMIN_KUBECONFIG den Pfad zur Kubeconfig-Datei des Administratorclusters angibt und USER_CLUSTER_PREFLIGHT_CHECK_CONFIG den Pfad zum Preflight-Prüfung YAML-Datei, die Sie im vorherigen Schritt erstellt haben:

    kubectl --kubeconfig ADMIN_KUBECONFIG create -f USER_CLUSTER_PREFLIGHT_CHECK_CONFIG
    
    Für einen Administratorcluster mit dem Namen cluster1 und eine Preflight-Prüfung zur Konfiguration des Nutzerclusters mit dem Namen user1-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

  6. 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 bestanden.

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: v1.6.2
....

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.

  1. Erstellen Sie eine neue YAML-Datei für die Preflight-Prüfung mit folgendem Inhalt. Geben Sie in den Feldern namespace und clusterName den von Ihnen erstellten Clusternamen ein:

    apiVersion: baremetal.cluster.gke.io/v1
    kind: PreflightCheck
    metadata:
    generateName: preflightcheck-
    namespace: CLUSTER_NAMESPACE
    spec:
    clusterName: CLUSTER_NAME
    

  2. Führen Sie den Befehl kubectl aus, um die Preflight-Prüfung für den Cluster auszuführen. Dabei gibt ADMIN_KUBECONFIG den Pfad zur Administrator-kubeconfig-Datei an und CLUSTER_PREFLIGHT_CHECK_CONFIG gibt den Pfad zum Preflight-Prüfung für YAML-Dateien, die Sie zuvor in Schritt 1 der Preflight-Prüfungen für Nutzercluster erstellt haben:

    kubectl --kubeconfig ADMIN_KUBECONFIG create -f CLUSTER_PREFLIGHT_CHECK_CONFIG
    
    Für einen Administratorcluster mit dem Namen cluster1 und eine Preflight-Prüfung zur Konfiguration des Nutzerclusters namens user1-preflight.yaml lautet der Befehl z. B.:
    kubectl --kubeconfig bmctl-workspace/cluster1/cluster1-kubeconfig create -f user1-preflight.yaml
    
    Die Systeme antworten mit der Job-ID der Preflight-Prüfung:
    preflightcheck.baremetal.cluster.gke.io/preflightcheck-g7hfo4 created
    

  3. 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.