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.

Il webhook del resolver TKR modifica il cluster:
  • 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.