Une Version de Tanzu Kubernetes (TKr) fournit la distribution logicielle Kubernetes signée et prise en charge par VMware pour une utilisation avec les clusters de Service TKG. Le format TKR est mis à jour pour vSphere 8 afin de prendre en charge les modules et plusieurs systèmes d'exploitation.
Notes de mise à jour de TKR
Reportez-vous aux Notes de mise à jour des versions de Tanzu Kubernetes pour obtenir la liste complète des TKR disponibles, les nouveautés de chaque version, les problèmes connus et la compatibilité de TKR.
Distribution et consommation de TKR
VMware distribue Versions de Tanzu Kubernetes via un réseau de diffusion de contenu. Vous utilisez une bibliothèque de contenu vSphere pour associer les TKR à Espaces de noms vSphere. Pour automatiser la consommation de TKR, utilisez une bibliothèque de contenu avec abonnement. Pour les environnements sur lesquels Internet est restreint, utilisez une bibliothèque de contenu locale.
Chaque Version de Tanzu Kubernetes est distribuée en tant que modèle OVA. Le contrôleur TKR sur Superviseur utilise le modèle OVA pour construire les machines virtuelles pour les nœuds de cluster TKG. La taille de disque de la machine virtuelle est définie par le modèle TKR OVA. Vous spécifiez les ressources de CPU et de RAM à l'aide de classes VM.
La bibliothèque de contenu TKR n'a pas de portée d'espace de noms. Tous les Espaces de noms vSphere utilisent la même bibliothèque de contenu TKR pour TKG avec le Superviseur. La modification de la bibliothèque de contenu TKR pour un Espace de noms vSphere le mettra à jour pour toutes les autres.
Chaîne de nom TKR
kubectl get tkr
pour obtenir la liste des images TKR qui peuvent être utilisées dans l'
Espace de noms vSphere. Par exemple :
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
. Si vous utilisez l'
API v1beta1, vous fournissez la chaîne TKR NAME complète dans le champ
topology.version
.
Le nom de la TKR dans la bibliothèque de contenu doit être la chaîne TKR NAME complète. Si vous utilisez une bibliothèque de contenu avec abonnement, la chaîne TKR NAME est créée pour vous. Si vous utilisez une bibliothèque de contenu locale, assurez-vous que le nom que vous attribuez à la TKR correspond à la chaîne TKR NAME. Pour plus d'informations, reportez-vous à la section Bibliothèque de contenu local .
Compatibilité de TKR avec le Service TKG
Les TKR sont publiés et mis à jour indépendamment du Service TKG et de Superviseur.
Pour provisionner un cluster TKG, la TKr doit être compatible avec le Service TKG. Vous ne pouvez pas utiliser une TKr qui n'est pas compatible avec l'instance de Service TKG. En outre, vous devez vous assurer que vous exécutez une TKr compatible avec la version que vous ciblez pour la mise à niveau.
Vous pouvez vérifier la compatibilité de la TKr à l'aide de la commande kubectl get tkr
. La colonne COMPATIBLE renvoie une valeur booléenne. True
signifie que la TKr est compatible, False
signifie qu'elle n'est pas compatible.
Compatibilité de la TKr avec vSphere
Le format de la TKr est mis à jour pour vSphere 8. Les TKr pour vSphere 8 ne peuvent s'exécuter que sur vSphere 8.x. Les TKr pour vSphere 7.x sont des images héritées qui fonctionnent avec vSphere 7. Ces images peuvent s'exécuter sur vSphere 8, mais uniquement à des fins de mise à niveau. Les images TKr héritées sont identifiées par l'étiquette d'annotation legacy-tkr
.
Vous pouvez vérifier la compatibilité de la TKr à l'aide des commandes kubectl get tkr -o yaml
et kubectl get tkr --show-labels
. Si l'étiquette d'annotation legacy-tkr
est présente, la TKr ne prend pas en charge les fonctionnalités de vSphere 8 et ne doit être utilisée que pour effectuer la mise à niveau vers vSphere 8 à partir de vSphere 7.
legacy-tkr
.
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
pour vérifier la compatibilité de la TKr. L'étiquette
legacy-tkr
est présente, de sorte que l'image ne peut être utilisée que pour créer un cluster TKG hérité.
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
est absente de la liste des étiquettes.
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
indique également que l'étiquette
legacy-tkr
est absente, indiquant que la TKr est conçue pour vSphere 8.x.
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 ...
Format d'image du système d'exploitation de la TKr
Le format d'image du système d'exploitation de la TKr prend en charge plusieurs images de système d'exploitation pour une seule TKr. Cela signifie qu'il existe une seule Version de Tanzu Kubernetes pour une version de Kubernetes spécifique pour tous les systèmes d'exploitation pris en charge, à savoir actuellement PhotonOS et Ubuntu. Le format d'image du système d'exploitation par défaut est PhotonOS.
run.tanzu.vmware.com/resolve-os-image: os-name=ubuntu
pour spécifier l'édition du système d'exploitation Ubuntu de la TKr. Par exemple, la
spécification de cluster TKG suivante utilise l'édition Ubuntu de la TKr nommée.
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
Lorsque le système est mis à niveau vers vSphere 8, les TKr existantes sont automatiquement converties au format d'image du système d'exploitation de la TKr avec référence à une seule image du système d'exploitation. Cela permet aux TKr héritées d'être compatibles pour la mise à niveau vers une TKr non héritée.
Les TKr héritées disposent de deux éditions : Photon et Ubuntu. Lorsque la TKr héritée dispose d'une édition spécifique à Ubuntu, vous pouvez utiliser la chaîne de version complète (avec « ubuntu ») et omettre l'étiquette d'annotation, ou utiliser la chaîne de version courte (sans « ubuntu ») et inclure l'étiquette de version.
Modules de TKr
Les images de la TKr compatibles avec vSphere 8 sont mises à jour vers une infrastructure basée sur les modules pour les composants principaux, tels que CSI (Container Storage Interface) et CNI (Container Network Interface). Si vous utilisez l'API v1beta, la modification ou la mise à jour de ces composants s'effectue à l'aide de définitions de ressources personnalisées.
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
Reportez-vous à Exemple v1beta1 : cluster avec le CNI Calico pour consulter un exemple de cas d'utilisation.
Migration des types de systèmes d'exploitation TKR
Les mises à jour du cluster sur place entre les systèmes d'exploitation TKR ne sont pas prises en charge. Cela signifie, par exemple, que vous ne pouvez pas mettre à niveau un cluster TKG à l'aide de TKr version 1.27.11 Photon vers TKr version 1.28.8 Ubuntu.
- À l'aide de Velero, sauvegardez les charges de travail du cluster TKG basé sur Photon.
Reportez-vous à la section Sauvegarde et restauration de clusters et de charges de travail TKG.
- Provisionnez un nouveau cluster TKG à l'aide de la TKR Ubuntu.
Reportez-vous à la section Provisionner des clusters de services TKG.
- À l'aide de Velero, restaurez les charges de travail du cluster TKG sur le cluster Ubuntu.
Reportez-vous à la section Sauvegarde et restauration de clusters et de charges de travail TKG.
Sécurisation renforcée de TKR
Les guides de mise en œuvre technique de la sécurité (STIG) pour les composants système (y compris le Superviseur et les TKr) sont disponibles. Pour plus d'informations, reportez-vous à la section Sécurisation renforcée STIG Tanzu.
Créer votre propre TKR
À partir de TKr v1.25.7 pour vSphere 8.x, vous pouvez créer des images de machine TKr personnalisées pour les clusters TKG qui s'exécutent sur vSphere 8. Une image de machine personnalisée regroupe un système d'exploitation et une version pris en charge, une version de Kubernetes basée sur une TKR publiée et toutes les personnalisations que vous effectuez.
Pour créer des images de machine personnalisées pour des nœuds de cluster TKG, utilisez vSphere Tanzu Kubernetes Grid Image Builder. Reportez-vous à la documentation pour plus d'informations sur la création d'images personnalisées, les versions de TKR prises en charge et les personnalisations prises en charge.