Verwenden eines vorhandenen Bootstrap-Clusters zum Bereitstellen und Löschen von Verwaltungsclustern

Wenn Sie einen Verwaltungscluster bereitstellen, indem Sie tanzu mc create ausführen, erstellt Tanzu Kubernetes Grid standardmäßig einen temporären kind-Cluster auf Ihrer lokalen Bootstrap-Maschine. Anschließend wird der lokale Cluster verwendet, um den endgültigen Verwaltungscluster in seiner Ziel-Cloud-Infrastruktur bereitzustellen – vSphere, Amazon Web Services (AWS) oder Azure –, und löscht den temporären Cluster, nachdem der Verwaltungscluster erfolgreich bereitgestellt wurde. Die Ausführung von tanzu mc delete zum Löschen eines Verwaltungsclusters führt zu einem ähnlichen Vorgang zum Erstellen, Verwenden und anschließendem Entfernen eines temporären lokalen kind-Clusters.

Unter bestimmten Umständen können Sie den lokalen Cluster beibehalten, nachdem Sie einen Verwaltungscluster bereitgestellt oder gelöscht haben. Ein Beispiel dafür wäre die Untersuchung der Objekte im Cluster oder die Überprüfung der dazugehörigen Protokolle. Dazu können Sie den Verwaltungscluster mit den CLI-Optionen --use-existing-bootstrap-cluster oder --use-existing-cleanup-cluster bereitstellen oder löschen.

Mit diesen Optionen überspringt Tanzu Kubernetes Grid das Erstellen und Löschen des lokalen kind-Clusters und verwendet stattdessen einen bereits vorhandenen lokalen Cluster, oder Sie erstellen einen neuen zu diesem Zweck.

Vorsicht

Die Verwendung eines vorhandenen Bootstrap-Clusters ist ein erweiterter Anwendungsfall für erfahrene Kubernetes-Benutzer. Wenn möglich, wird dringend empfohlen, den kind-Standardcluster zu verwenden, den Tanzu Kubernetes Grid für den Bootstrap Ihrer Verwaltungscluster bereitstellt.

Identifizieren oder Erstellen eines lokalen Bootstrap-Clusters

Um Ihren lokalen kind-Cluster beim Erstellen oder Löschen des Verwaltungsclusters beizubehalten, müssen Sie zuerst über einen kompatiblen Cluster verfügen, der auf Ihrer Bootstrap-Maschine ausgeführt wird. Stellen Sie dies sicher, indem Sie den Cluster entweder identifizieren oder erstellen, wie in den folgenden Unterabschnitten beschrieben.

Verwenden einer vorhandenen Clusters

Um einen vorhandenen lokalen Cluster zu verwenden, müssen Sie sicherstellen, dass beide der folgenden Bedingungen zutreffen:

  • Der Cluster wurde noch nie zum Bootstrap oder Löschen eines Verwaltungsclusters verwendet.

  • Der Cluster wurde mit kind v0.11 oder höher erstellt.

    • Überprüfen Sie dies, indem Sie docker ps ausführen und die angegebene kindest:node-Version den Versionen, die in den kind Versionshinweisen aufgeführt sind, zuordnen.

    • Hintergrund: Wenn Ihre Bootstrap-Maschine einen Linux-Kernel verwendet, der nach dem Linux-Sicherheits-Patch vom Mai 2021 erstellt wurde, z. B. Linux 5.11 und 5.12 mit Fedora, muss Ihr Bootstrap-Cluster von einem kind Version v0.11 oder höher erstellt werden. Frühere Versionen von kind versuchen, eine Datei zu ändern, die in aktuellen Linux-Versionen schreibgeschützt war. Dies führt zu einem Fehler. Der Sicherheits-Patch wird ab 4.9 auf alle LTS-Kernels zurückportiert, was zu möglichen Fehlern bei der Bereitstellung des Verwaltungsclusters führt, wenn Betriebssystem-Updates ausgeliefert werden. Dies gilt auch für Docker-Maschine unter dem Mac-Betriebssystem und Windows-Subsystem für Linux.

Wenn beide dieser Qualifikationen für den aktuellen lokalen Cluster zutreffen, können Sie sie verwenden, um einen Verwaltungscluster zu erstellen oder zu löschen. Andernfalls müssen Sie den Cluster wie folgt ersetzen:

  1. Löschen Sie den Cluster.

  2. Laden Sie eine neue kind-Version wie in der kind-Dokumentation beschrieben herunter und installieren Sie sie.

  3. Erstellen Sie einen kind-Cluster, wie im Abschnitt Erstellung eines neuen Clusters unten beschrieben.

Erstellung eines neuen Clusters

Um einen neuen lokalen Bootstrap-Cluster zu erstellen, führen Sie je nach Konnektivität Ihrer Bootstrap-Maschine einen der folgenden Schritte aus:

  • Umgebung, die vollständig online ist

    Erstellen Sie den Cluster.

    kind create cluster
    
  • Umgebungen mit Internetbeschränkungen:

    1. Erstellen Sie eine kind Clusterkonfigurationsdatei kind.yml wie folgt:

      kind: Cluster
      apiVersion: kind.x-k8s.io/v1alpha4
      name: tkg-kind
      nodes:
      - role: control-plane
       # This option mounts the host docker registry folder into
       # the control-plane node, allowing containerd to access them.
       extraMounts:
         - containerPath: CONTAINER-CA-PATH
           hostPath: HOST-CA-PATH
      containerdConfigPatches:
      - |-
       [plugins."io.containerd.grpc.v1.cri".registry.configs."REGISTRY-FQDN".tls]
         ca_file = "/etc/containerd/REGISTRY-FQDN/CA.crt"
      

      Dabei gilt:

      • CONTAINER-CA-PATH ist der Pfad des Harbor-CA-Zertifikats im Container kind, wie z. B. /etc/containerd/REGISTRY-FQDN
      • HOST-CA-PATH ist der Pfad zum Harbor-CA-Zertifikat auf der Bootstrap-VM, auf der der Cluster kind erstellt wird, wie z. B. /etc/docker/certs.d/REGISTRY-FQDN
      • REGISTRY-FQDN ist der Name der Harbor-Registrierung
      • CA.crt ist das CA-Zertifikat der Harbor-Registrierung

      Standardmäßig sucht crashd nach einem Cluster mit der Bezeichnung tkg-kind. Erhält der Cluster kind die Bezeichnung tkg-kind, wird so die Erfassung von Protokollen, wenn das Bootstrap des Clusters fehlschlägt, erleichtert.

    2. Verwenden Sie die obige Konfigurationsdatei, um das kind-Cluster zu erstellen.

      kind create cluster --config kind.yml
      

Bereitstellen eines Verwaltungsclusters mit einem vorhandenen Bootstrap-Cluster

So stellen Sie einen Tanzu Kubernetes Grid-Verwaltungscluster mit einem vorhandenen Bootstrap-Cluster bereit:

  1. Führen Sie das obige Verfahren aus, um einen lokalen Bootstrap-Cluster zu identifizieren oder zu erstellen.

  2. Legen Sie den Kontext von kubectl auf den lokalen Bootstrap-Cluster fest.

    kubectl config use-context my-bootstrap-cluster-admin@my-bootstrap-cluster
    
  3. Stellen Sie den Verwaltungscluster bereit, indem Sie den Befehltanzu mc create mit der Option--use-existing-bootstrap-cluster ausführen:

    tanzu mc create --file mc.yaml --use-existing-bootstrap-cluster my-bootstrap-cluster
    

    Weitere Informationen zum Ausführen von tanzu mc create finden Sie unter Bereitstellen von Verwaltungsclustern.

Löschen eines Verwaltungsclusters mit einem vorhandenen Bootstrap-Cluster

So löschen Sie einen Tanzu Kubernetes Grid-Verwaltungscluster mit einem vorhandenen Bootstrap-Cluster:

  1. Führen Sie das obige Verfahren aus, um einen lokalen Bootstrap-Cluster zu identifizieren oder zu erstellen.

  2. Legen Sie den Kontext von kubectl auf den lokalen Bootstrap-Cluster fest.

    kubectl config use-context my-bootstrap-cluster-admin@my-bootstrap-cluster
    
  3. Löschen Sie den Verwaltungscluster, indem Sie den Befehltanzu mc delete mit der Option--use-existing-cleanup-cluster ausführen:

    tanzu mc delete --use-existing-cleanup-cluster my-bootstrap-cluster
    

    Weitere Informationen zur Ausführung von tanzu mc delete finden Sie unter Löschen von Verwaltungsclustern.

check-circle-line exclamation-circle-line close-line
Scroll to top icon