Cette rubrique décrit comment le système résout les images TKr.

Résolution de TKr

Lorsque l'objet de cluster est créé ou mis à jour, le serveur d'API Kubernetes appelle le Webhook de mutation TKr Resolver. Le cluster (ou sa ClusterClass) doit disposer de l'annotation run.tanzu.vmware.com/resolve-tkr. Sinon, la résolution TKr est entièrement ignorée. TKr Resolver utilise la valeur de l'annotation run.tanzu.vmware.com/resolve-tkr comme requête d'étiquette pour limiter l'ensemble de TKr candidates. Une chaîne vide sélectionne toutes les TKr.

Les valeurs de l'annotation run.tanzu.vmware.com/resolve-os-image sur les controlPlain et machineDeployments de la topologie de cluster sont utilisées comme sélecteurs d'étiquettes pour les objets OSImage à utiliser avec controlPlain et machineDeployments respectivement. Une OSImage unique fournie par la TKr résolue doit répondre à la requête pour controlPlane ou l'un des machineDeployments.

La version de spec.topology.version du cluster fourni est utilisée comme préfixe de version. Le Webhook de TKr Resolver recherche la dernière TKr disponible satisfaisant les contraintes ci-dessus. Si elle est introuvable, la demande de création/mise à jour du cluster est refusée.

Le Webhook de TKr Resolver mute le cluster :
  • L'étiquette run.tanzu.vmware.com/tkr est définie sur le nom de la TKr résolue.
  • La spec.topology.version du cluster est définie sur la version Kubernetes de la TKr résolue.
  • La variable de cluster TKR_DATA est mise à jour pour contenir un mappage de la version de Kubernetes vers l'ensemble de valeurs de la TKr et de l'OSImage pour le controlPlane.
  • Les remplacements de variable TKR_DATA pour les machineDeployments individuels sont mis à jour pour contenir un mappage de la version de Kubernetes vers l'ensemble de valeurs de la TKr et de l'OSImage pour le machineDeployment.