In questo argomento viene descritto come il sistema risolve le immagini TKr.
Risoluzione di TKr
Quando l'oggetto Cluster viene creato o aggiornato, il server dell'API Kubernetes richiama il webhook di modifica del resolver TKr. Il Cluster (o la relativa ClusterClass) deve disporre dell'annotazione run.tanzu.vmware.com/resolve-tkr
. In caso contrario, la risoluzione di TKr viene completamente ignorata. Il resolver TKr utilizza il valore dell'annotazione run.tanzu.vmware.com/resolve-tkr
come query dell'etichetta per vincolare il set di TKr candidate. Una stringa vuota seleziona tutte le TKr.
I valori dell'annotazione run.tanzu.vmware.com/resolve-os-image
nel controlPlain della topologia del cluster e machineDeployments vengono utilizzati come selettori di etichette per gli oggetti OSImage da utilizzare rispettivamente con controlPlain e machineDeployments. Esattamente una OSImage fornita dal TKr risolto deve soddisfare la query per controlPlane o uno qualsiasi dei machineDeployments.
Il valore spec.topology.version del cluster specificato viene utilizzato come prefisso della versione. Il webhook del resolver TKr ricerca la TKR più recente disponibile che soddisfi i vincoli precedenti. Se non viene trovata, la richiesta di creazione/aggiornamento del cluster viene rifiutata.
- L'etichetta run.tanzu.vmware.com/tkr viene impostata sul nome della TKR risolta
- Il valore spec.topology.version del cluster viene impostato sulla versione di Kubernetes della TKR risolta
- La variabile TKR_DATA del cluster viene aggiornata in modo da contenere una mappatura dalla versione di Kubernetes al set di valori di TKR e OSImage per controlPlane.
- Le sostituzioni della variabile TKR_DATA per i singoli machineDeployments vengono aggiornate in modo da contenere una mappatura dalla versione di Kubernetes al set di valori di TKR e OSImage per machineDeployment.