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.
VorsichtDie 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.
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.
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:
Löschen Sie den Cluster.
Laden Sie eine neue kind
-Version wie in der kind-Dokumentation beschrieben herunter und installieren Sie sie.
Erstellen Sie einen kind
-Cluster, wie im Abschnitt Erstellung eines neuen Clusters unten beschrieben.
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:
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-RegistrierungCA.crt
ist das CA-Zertifikat der Harbor-RegistrierungStandardmäß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.
Verwenden Sie die obige Konfigurationsdatei, um das kind
-Cluster zu erstellen.
kind create cluster --config kind.yml
So stellen Sie einen Tanzu Kubernetes Grid-Verwaltungscluster mit einem vorhandenen Bootstrap-Cluster bereit:
Führen Sie das obige Verfahren aus, um einen lokalen Bootstrap-Cluster zu identifizieren oder zu erstellen.
Legen Sie den Kontext von kubectl
auf den lokalen Bootstrap-Cluster fest.
kubectl config use-context my-bootstrap-cluster-admin@my-bootstrap-cluster
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.
So löschen Sie einen Tanzu Kubernetes Grid-Verwaltungscluster mit einem vorhandenen Bootstrap-Cluster:
Führen Sie das obige Verfahren aus, um einen lokalen Bootstrap-Cluster zu identifizieren oder zu erstellen.
Legen Sie den Kontext von kubectl
auf den lokalen Bootstrap-Cluster fest.
kubectl config use-context my-bootstrap-cluster-admin@my-bootstrap-cluster
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.