Eine Tanzu Kubernetes-Version (TKr) bietet die von VMware signierte und unterstützte Kubernetes-Softwareverteilung für die Verwendung mit TKG-Dienstclustern. Das TKr-Format wird für vSphere 8 aktualisiert, um Pakete und mehrere Betriebssysteme zu unterstützen.
Versionshinweise zu TKr
In den Versionshinweisen zu Tanzu Kubernetes-Versionen finden Sie eine vollständige Liste der verfügbaren TKrs, die neuen Funktionen für jede Version, bekannte Probleme und die TKr-Kompatibilität.
TKr – Verteilung und Verbrauch
VMware verteilt Tanzu Kubernetes-Versionen über ein Content Delivery Network. Mithilfe einer vSphere-Inhaltsbibliothek verknüpfen Sie TKrs mit vSphere-Namespaces. Um den Verbrauch von TKrs zu automatisieren, verwenden Sie eine abonnierte Inhaltsbibliothek. Verwenden Sie für Umgebungen mit eingeschränktem Internetzugriff eine lokale Inhaltsbibliothek.
Jede Tanzu Kubernetes-Version wird als OVA-Vorlage bereitgestellt. Der TKr-Controller auf Supervisor verwendet die OVA-Vorlage, um die VMs für TKG-Clusterknoten zu erstellen. Die VM-Festplattengröße wird durch die TKr-OVA-Vorlage festgelegt. Sie geben CPU- und RAM-Ressourcen mithilfe von VM-Klassen an.
Die TKr-Inhaltsbibliothek ist nicht auf den Namespace-Geltungsbereich beschränkt. Alle vSphere-Namespaces verwenden dieselbe TKr-Inhaltsbibliothek für TKG mit Supervisor. Wenn Sie die TKr-Inhaltsbibliothek für einen vSphere-Namespace ändern, wird sie auch für alle anderen aktualisiert.
TKr NAME-Zeichenfolge
kubectl get tkr
die TKr-Images auf, die im
vSphere-Namespace zur Verfügung stehen. Beispiel:
kubectl get tkr NAME VERSION READY COMPATIBLE CREATED v1.16.14---vmware.1-tkg.1.ada4837 v1.16.14+vmware.1-tkg.1.ada4837 False False 19d v1.17.17---vmware.1-tkg.1.d44d45a v1.17.17+vmware.1-tkg.1.d44d45a False False 19d v1.18.19---vmware.1-tkg.1.17af790 v1.18.19+vmware.1-tkg.1.17af790 False False 19d v1.19.16---vmware.1-tkg.1.df910e2 v1.19.16+vmware.1-tkg.1.df910e2 False False 19d v1.20.12---vmware.1-tkg.1.b9a42f3 v1.20.12+vmware.1-tkg.1.b9a42f3 False False 19d v1.21.6---vmware.1-tkg.1.b3d708a v1.21.6+vmware.1-tkg.1.b3d708a True True 19d v1.22.9---vmware.1-tkg.1.cc71bc8 v1.22.9+vmware.1-tkg.1.cc71bc8 True True 19d v1.23.8---vmware.2-tkg.2-zshippable v1.23.8+vmware.2-tkg.2-zshippable True True 19d v1.23.8---vmware.3-tkg.1 v1.23.8+vmware.3-tkg.1 True True 19d
tkr.reference.name
an. Wenn Sie die
v1beta1-API verwenden, geben Sie die vollständige TKr NAME-Zeichenfolge im Feld
topology.version
an.
Der Name der TKr in der Inhaltsbibliothek muss der vollständigen TKr NAME-Zeichenfolge entsprechen. Wenn Sie eine abonnierte Inhaltsbibliothek verwenden, wird die TKr NAME-Zeichenfolge für Sie erstellt. Wenn Sie eine lokale Inhaltsbibliothek verwenden, stellen Sie sicher, dass der für die TKr vergebene Name mit der TKr NAME-Zeichenfolge übereinstimmt. Weitere Informationen finden Sie unter Lokale Inhaltsbibliothek.
TKr-Kompatibilität mit TKG-Dienst
TKrs werden unabhängig vom TKG-Dienst und vom Supervisor freigegeben und aktualisiert.
Zum Bereitstellen eines TKG-Clusters muss die TKr mit dem TKG-Dienst kompatibel sein. Sie können keine TKr verwenden, die nicht mit dem TKG-Dienst kompatibel ist. Darüber hinaus müssen Sie sicherstellen, dass eine kompatible TKr für die zu aktualisierende Version ausgeführt wird.
Sie können die TKr-Kompatibilität mithilfe des Befehls kubectl get tkr
überprüfen. Die COMPATIBLE-Spalte gibt einen booleschen Wert zurück. True
bedeutet, dass die TKr kompatibel ist. False
bedeutet, dass die TKr nicht kompatibel ist.
TKr-Kompatibilität mit vSphere
Das TKr-Format wird für vSphere 8 aktualisiert. TKrs für vSphere 8 können nur auf vSphere 8.x ausgeführt werden. TKrs für vSphere 7.x sind Legacy-Images, die mit vSphere 7 funktionieren. Solche Images können auf vSphere 8 ausgeführt werden, aber nur zu Upgrade-Zwecken. Legacy-TKr-Images werden durch die Anmerkungsbezeichnung legacy-tkr
angegeben.
Sie können die TKr-Kompatibilität mithilfe der Befehle kubectl get tkr -o yaml
und kubectl get tkr --show-labels
überprüfen. Wenn die Anmerkungsbezeichnung legacy-tkr
vorhanden ist, unterstützt die TKr vSphere 8-Funktionen nicht und sollte nur für das Upgrade von vSphere 7 auf vSphere 8 verwendet werden.
legacy-tkr
handelt.
kubectl get tkr v1.23.8---vmware.3-tkg.1 -o yaml
apiVersion: run.tanzu.vmware.com/v1alpha3
kind: TanzuKubernetesRelease
metadata:
creationTimestamp: "2023-03-15T20:33:17Z"
finalizers:
- tanzukubernetesrelease.run.tanzu.vmware.com
generation: 1
labels:
os-arch: amd64
os-name: photon
os-type: linux
os-version: "3.0"
run.tanzu.vmware.com/legacy-tkr: ""
v1: ""
v1.23: ""
v1.23.8: ""
v1.23.8---vmware: ""
v1.23.8---vmware.3: ""
v1.23.8---vmware.3-tkg: ""
v1.23.8---vmware.3-tkg.1: ""
name: v1.23.8---vmware.3-tkg.1
--show-labels
-Flag verwendet, um die TKr-Kompatibilität zu überprüfen. Die
legacy-tkr
-Bezeichnung ist vorhanden, sodass das Image nur zum Erstellen eines TKG-Clusters verwendet werden kann.
kubectl get tkr v1.23.8---vmware.3-tkg.1 --show-labels
NAME VERSION READY COMPATIBLE CREATED LABELS
v1.23.8---vmware.3-tkg.1 v1.23.8+vmware.3-tkg.1 True True 19d os-arch=amd64,os-name=photon,os-type=linux,os-version=3.0,run.tanzu.vmware.com/legacy-tkr=,
legacy-tkr
in der Liste der Bezeichnungen nicht vorhanden ist.
kubectl get tkr v1.28.8---vmware.1-fips.1-tkg.2 --show-labels NAME VERSION READY COMPATIBLE CREATED LABELS v1.28.8---vmware.1-fips.1-tkg.2 v1.28.8+vmware.1-fips.1-tkg.2 True True 21d os-arch=amd64,os-name=photon,os-type=linux,os-version=5.0,tkr.tanzu.vmware.com/standard=,v1.28.8---vmware.1-fips.1-tkg.2=,v1.28.8---vmware.1-fips.1-tkg=,v1.28.8---vmware.1-fips.1=,v1.28.8---vmware.1-fips=,v1.28.8---vmware.1=,v1.28.8---vmware=,v1.28.8=,v1.28=,v1=
-o yaml
ausführen, wird auch angezeigt, dass die Bezeichnung
legacy-tkr
nicht vorhanden ist. Dies spricht dafür, dass die TKr speziell für vSphere 8.x entwickelt wurde.
kubectl get tkr v1.28.8---vmware.1-fips.1-tkg.2 -o yaml apiVersion: run.tanzu.vmware.com/v1alpha3 kind: TanzuKubernetesRelease metadata: creationTimestamp: "2024-05-08T20:03:57Z" finalizers: - tanzukubernetesrelease.run.tanzu.vmware.com generation: 2 labels: os-arch: amd64 os-name: photon os-type: linux os-version: "5.0" tkr.tanzu.vmware.com/standard: "" v1: "" v1.28: "" v1.28.8: "" v1.28.8---vmware: "" v1.28.8---vmware.1: "" v1.28.8---vmware.1-fips: "" v1.28.8---vmware.1-fips.1: "" v1.28.8---vmware.1-fips.1-tkg: "" v1.28.8---vmware.1-fips.1-tkg.2: "" name: v1.28.8---vmware.1-fips.1-tkg.2 ...
TKr-Betriebssystem-Image-Format
Das TKr-Betriebssystem-Image-Format unterstützt mehrere Betriebssystem-Images für eine einzelne TKr. Dies bedeutet, dass es eine einzige Tanzu Kubernetes-Version für eine bestimmte Kubernetes-Version für alle unterstützten Betriebssysteme gibt. Dies sind derzeit Photon OS und Ubuntu. Photon OS ist das standardmäßige Betriebssystem-Image-Format.
run.tanzu.vmware.com/resolve-os-image: os-name=ubuntu
die Ubuntu-Betriebssystemedition der TKr an. Beispiel: Die folgende
TKG-Clusterspezifikation verwendet die Ubuntu-Edition der benannten TKr.
apiVersion: run.tanzu.vmware.com/v1alpha3 kind: TanzuKubernetesCluster metadata: name: tkgs-cluster-ubuntu namespace: tkgs-cluster-ns annotations: run.tanzu.vmware.com/resolve-os-image: os-name=ubuntu spec: topology: controlPlane: ... tkr: reference: name: v1.28.8---vmware.1-fips.1-tkg.2
apiVersion: run.tanzu.vmware.com/v1alpha3 kind: TanzuKubernetesCluster metadata: name: tkgs-cluster-multiOS namespace: tkgs-cluster-ubuntu annotations: //Worker nodes annotation run.tanzu.vmware.com/resolve-os-image.np-1: os-name=ubuntu spec: topology: controlPlane: tkr: reference: name: v1.28.8---vmware.1-fips.1-tkg.2 replicas: 3 vmClass: guaranteed-medium storageClass: tkgs-storage-profile nodePools: - replicas: 3 name: np-1 vmClass: guaranteed-medium storageClass: tkgs-storage-profile
Wenn das System auf vSphere 8 aktualisiert wird, werden vorhandene TKrs automatisch in das TKr-Betriebssystem-Image-Format mit Referenz auf ein einzelnes Betriebssystem-Image konvertiert. Dadurch können Legacy-TKrs für das Upgrade auf ein Nicht-Legacy-TKr kompatibel sein.
Legacy-TKrs haben zwei Editionen: Photon und Ubuntu. Wenn die Legacy-TKr über eine Ubuntu-spezifische Edition verfügt, können Sie die vollständige Versionszeichenfolge (mit „ubuntu“) verwenden und die Anmerkungsbezeichnung weglassen oder die kurze Versionszeichenfolge (ohne „ubuntu“) verwenden und die Versionsbezeichnung einschließen.
TKr-Pakete
TKr-Images, die mit vSphere 8 kompatibel sind, werden auf ein paketbasiertes Framework für zentrale Komponenten aktualisiert, etwa das Container Storage Interface (CSI) und das Container Network Interface (CNI). Wenn Sie die v1beta-API verwenden, werden diese Komponenten mithilfe benutzerdefinierter Ressourcendefinitionen geändert oder aktualisiert.
kubectl get tkr TKR-NAME -o yaml
kubectl get tkr v1.28.8---vmware.1-fips.1-tkg.2 -o yaml
spec: bootstrapPackages: - name: antrea.tanzu.vmware.com.1.13.3+vmware.3-tkg.2-vmware - name: vsphere-pv-csi.tanzu.vmware.com.3.1.0+vmware.1-tkg.6-vmware - name: vsphere-cpi.tanzu.vmware.com.1.28.0+vmware.1-tkg.1-vmware - name: kapp-controller.tanzu.vmware.com.0.48.2+vmware.1-tkg.1-vmware - name: guest-cluster-auth-service.tanzu.vmware.com.1.3.3+tkg.1-vmware - name: metrics-server.tanzu.vmware.com.0.6.2+vmware.3-tkg.5-vmware - name: secretgen-controller.tanzu.vmware.com.0.15.0+vmware.1-tkg.1-vmware - name: pinniped.tanzu.vmware.com.0.25.0+vmware.2-tkg.1-vmware - name: capabilities.tanzu.vmware.com.0.32.1+vmware.1 - name: gateway-api.tanzu.vmware.com.1.0.0+vmware.1-tkg.1-vmware - name: calico.tanzu.vmware.com.3.26.3+vmware.1-tkg.1-vmware
Unter v1beta1-Beispiel: Cluster mit Calico-CNI finden Sie ein Beispiel für einen Anwendungsfall.
Migrieren von TKr-Betriebssystemtypen
Direkte Cluster-Updates zwischen TKr-Betriebssystemen werden nicht unterstützt. Dies bedeutet beispielsweise, dass Sie kein Upgrade eines TKG-Clusters mit TKr v1.27.11 Photon auf TKr v1.28.8 Ubuntu durchführen können.
- Sichern Sie die Photon-basierten TKG-Clusterarbeitslasten mithilfe von Velero.
Weitere Informationen hierzu finden Sie unter Sichern und Wiederherstellen von TKG-Dienstclustern und -Arbeitslasten.
- Stellen Sie einen neuen TKG-Cluster mithilfe der Ubuntu-TKr bereit.
Weitere Informationen hierzu finden Sie unter Bereitstellen von TKG-Dienstclustern.
- Stellen Sie die TKG-Clusterarbeitslasten mithilfe von Velero im Ubuntu-Cluster wieder her.
Weitere Informationen hierzu finden Sie unter Sichern und Wiederherstellen von TKG-Dienstclustern und -Arbeitslasten.
TKr-Härtung
Security Technical Implementation Guides (STIG) für Systemkomponenten, einschließlich Supervisor und TKrs, stehen zur Verfügung. Weitere Informationen finden Sie unter Tanzu STIG-Härtung.
Erstellen einer eigenen TKr
Ab TKr v1.25.7 für vSphere 8.x können Sie benutzerdefinierte TKr-Maschinen-Images für TKG-Cluster auf vSphere 8 erstellen. Ein benutzerdefiniertes Maschinen-Image enthält ein unterstütztes Betriebssystem in einer unterstützten Version, eine Kubernetes-Version basierend auf einer freigegebenen TKr und alle von Ihnen vorgenommenen Anpassungen.
Zum Erstellen benutzerdefinierter Maschinen-Images für TKG-Clusterknoten verwenden Sie den vSphere Tanzu Kubernetes Grid Image Builder. Weitere Informationen zum Erstellen benutzerdefinierter Images, unterstützter TKr-Versionen und unterstützter Anpassungen finden Sie in der Dokumentation.