En este tema se describe cómo el sistema resuelve las imágenes de TKr.

Resolución de TKr

Cuando se crea o se actualiza el objeto Clúster, el servidor de la API de Kubernetes invoca el webhook mutante de TKr Resolver. El clúster (o su ClusterClass) debe tener la anotación run.tanzu.vmware.com/resolve-tkr. De lo contrario, la resolución de TKr se omite por completo. TKr Resolver utiliza el valor de la anotación run.tanzu.vmware.com/resolve-tkr como una consulta de etiqueta para restringir el conjunto de TKr candidatos. Una cadena vacía selecciona todos los TKr.

Los valores de la anotación run.tanzu.vmware.com/resolve-os-image en la topología del clúster controlPlain y machineDeployments se utilizan como selectores de etiquetas para los objetos OSImage que se utilizarán con controlPlain y machineDeployments respectivamente. Exactamente una OSImage enviada por el TKr resuelto debe satisfacer la consulta para controlPlane o cualquiera de los machineDeployments.

El clúster proporcionado spec.topology.version se utiliza como prefijo de versión. El webhook de TKr Resolver busca el TKr más reciente disponible que cumple las restricciones anteriores. Si no se encuentra, se deniega la solicitud de creación/actualización del clúster.

El webhook de Tkr Resolver muta el clúster:
  • La etiqueta run.tanzu.vmware.com/tkr se establece como el nombre del TKr resuelto
  • Cluster spec.topology.version se establece en la versión de Kubernetes del TKr resuelto
  • La variable de clúster TKR_DATA se actualizó para que contenga una asignación de la versión de Kubernetes al conjunto de valores de TKr y OSImage para controlPlane.
  • Las anulaciones de variables TKR_DATA para machineDeployments individuales se actualizan para que contengan una asignación de la versión de Kubernetes al conjunto de valores de TKr y OSImage para machineDeployment.