Una Release di Tanzu Kubernetes (TKr) fornisce la distribuzione del software Kubernetes firmata e supportata da VMware per l'uso con i cluster Servizio TKG. Il formato TKr è stato aggiornato per consentire il supporto di pacchetti e più sistemi operativi in vSphere 8.
Note di rilascio di TKr
Fare riferimento alle Note di rilascio delle versioni di Tanzu Kubernetes per l'elenco completo delle TKr disponibili, le novità di ogni versione, i problemi noti e la compatibilità con TKr.
Distribuzione e utilizzo di TKr
VMware distribuisce Release di Tanzu Kubernetes attraverso una rete di distribuzione dei contenuti. Utilizzare una libreria di contenuti di vSphere per associare TKr a Spazi dei nomi vSphere. Per automatizzare l'utilizzo di TKr, usare una libreria di contenuti con sottoscrizione. Per gli ambienti con limitazioni Internet, utilizzare una libreria di contenuti locale.
Ogni Release di Tanzu Kubernetes viene distribuita come modello OVA. Il controller TKr in Supervisore utilizza il modello OVA per creare le macchine virtuali per i nodi del cluster TKG. Le dimensioni del disco della macchina virtuale sono impostate dal modello OVA di TKr. È possibile specificare le risorse di CPU e RAM utilizzando le classi della macchina virtuale.
L'ambito della libreria di contenuti TKr non è lo spazio dei nomi. Tutte le istanze di Spazi dei nomi vSphere utilizzano la stessa libreria di contenuti TKr per TKG con Supervisore. Se si modifica la libreria dei contenuti TKr per un'istanza di Spazio dei nomi vSphere, verrà aggiornata anche per tutte le altre.
Stringa TKr Name
kubectl get tkr
per generare un elenco delle immagini TKr disponibili per l'uso in
Spazio dei nomi vSphere. Ad esempio:
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
. Se si utilizza l'
API v1beta1, specificare la stringa TKr NAME completa nel campo
topology.version
.
Il nome di TKr nella libreria di contenuti deve essere la stringa TKr NAME completa. Se si utilizza una libreria di contenuti con sottoscrizione, la stringa TKr Name viene creata automaticamente. Se si utilizza una libreria di contenuti locale, assicurarsi che il nome specificato per TKr corrisponda alla stringa TKr NAME. Per informazioni dettagliate, vedere la libreria di contenuti locale.
Compatibilità di TKr con Servizio TKG
Le TKr vengono rilasciate e aggiornate indipendentemente da Servizio TKG e dal Supervisore.
Per eseguire il provisioning di un cluster TKG, la TKr deve essere compatibile con Servizio TKG. Non è possibile utilizzare una TKr non compatibile con il Servizio TKG. È inoltre necessario assicurarsi di eseguire una TKr compatibile per la versione che si intende aggiornare.
È possibile verificare la compatibilità della TKr utilizzando il comando kubectl get tkr
. La colonna COMPATIBLE restituisce un valore booleano. True
significa che la TKr è compatibile, mentre False
significa che la TKr non è compatibile.
Compatibilità della TKr con vSphere
Il formato TKr è stato aggiornato per vSphere 8. Le TKr per vSphere 8 possono essere eseguite solo in vSphere 8.x. Le TKr per vSphere 7.x sono immagini legacy che funzionano con vSphere 7. Tali immagini possono essere eseguite in vSphere 8 ma solo a scopo di aggiornamento. Le immagini TKr legacy vengono identificate dall'etichetta di annotazione legacy-tkr
.
È possibile verificare la compatibilità della TKr utilizzando i comandi kubectl get tkr -o yaml
e kubectl get tkr --show-labels
. Se è presente l'etichetta di annotazione legacy-tkr
, TKr non supporta le funzionalità vSphere 8 e deve essere utilizzata solo per eseguire l'aggiornamento a vSphere 8 da 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
per verificare la compatibilità della TKr. È presente l'etichetta
legacy-tkr
, pertanto l'immagine può essere utilizzata solo per creare un cluster TKG legacy.
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
.
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
, si vede anche che l'etichetta
legacy-tkr
è assente, a indicare che la TKr è appositamente creata per 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 ...
Formato immagine sistema operativo TKr
Il formato Immagine OS della TKr supporta più immagini del sistema operativo per una singola TKr. Questo significa che è presente una singola Release di Tanzu Kubernetes per una specifica versione di Kubernetes per tutti i sistemi operativi supportati, che attualmente sono PhotonOS e Ubuntu. Il formato dell'immagine del sistema operativo predefinito è PhotonOS.
run.tanzu.vmware.com/resolve-os-image: os-name=ubuntu
per specificare l'edizione del sistema operativo Ubuntu della TKr. Ad esempio, la
specifica del cluster TKG seguente utilizza la versione Ubuntu della TKr denominata.
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
Quando il sistema viene aggiornato a vSphere 8, le TKr esistenti vengono convertite automaticamente nel formato immagine del sistema operativo della TKr in riferimento a una singola immagine del sistema operativo. In questo modo, le TKr legacy possono essere compatibili per l'aggiornamento a una TKr non legacy.
Le TKr legacy hanno due edizioni: Photon e Ubuntu. Quando la TKr legacy dispone di un'edizione specifica di Ubuntu, è possibile utilizzare la stringa della versione completa (con "ubuntu") e omettere l'etichetta dell'annotazione oppure utilizzare la stringa della versione breve (senza "ubuntu") e includere l'etichetta della versione.
Pacchetti TKr
Le immagini TKr compatibili con vSphere 8 vengono aggiornate in un framework basato su pacchetti per i componenti principali, ad esempio Container Storage Interface (CSI) e Container Network Interface (CNI). Se si utilizza l'API v1beta, la modifica o l'aggiornamento di questi componenti viene eseguito utilizzando definizioni di risorse personalizzate.
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
Vedere Esempio v1beta1: cluster con CNI di Calico per un caso d'uso di esempio.
Migrazione dei tipi di sistema operativo di TKr
Gli aggiornamenti del cluster sul posto tra sistemi operativi di TKr non sono supportati. Questo significa ad esempio che non è possibile aggiornare un cluster TKG che utilizza TKr v1.27.11 Photon a TKr v1.28.8 Ubuntu.
- Utilizzando Velero, eseguire il backup dei carichi di lavoro del cluster TKG basati su Photon.
Vedere Backup e ripristino dei cluster e dei carichi di lavoro di TKG Service.
- Eseguire il provisioning di un nuovo cluster TKG utilizzando TKr Ubuntu.
- Utilizzando Velero, ripristinare i carichi di lavoro del cluster TKG nel cluster Ubuntu.
Vedere Backup e ripristino dei cluster e dei carichi di lavoro di TKG Service.
Protezione avanzata di TKr
Sono disponibili le guide all'implementazione tecnica della sicurezza (STIG) per i componenti di Sistema, inclusi il Supervisore e le TKr. Per informazioni dettagliate, vedere Protezione avanzata STIG di Tanzu.
Creazione di una TKr personalizzata
A partire dalla TKr v1.25.7 per vSphere 8.x, è possibile creare immagini della macchina TKr personalizzate per i cluster TKG in vSphere 8. Un'immagine di macchina personalizzata include un sistema operativo e una versione supportati, una versione di Kubernetes basata su una TKr rilasciata e tutte le personalizzazioni che sono state eseguite.
Per creare immagini di macchina personalizzate per i nodi del cluster TKG, utilizzare vSphere Tanzu Kubernetes Grid Image Builder. Fare riferimento alla documentazione per informazioni dettagliate sulla creazione di immagini personalizzate, sulle versioni di TKr supportate e sulle personalizzazioni supportate.