In diesem Thema wird die Auflösung von TKr-Images durch das System beschrieben.

TKr-Auflösung

Wenn das Clusterobjekt erstellt oder aktualisiert wird, ruft der Kubernetes-API-Server den Webhook zur Änderung des TKr Resolvers auf. Der Cluster (oder seine ClusterClass) muss über die Anmerkung run.tanzu.vmware.com/resolve-tkr verfügen. Ansonsten wird die TKr-Auflösung vollständig übersprungen. Der TKr Resolver verwendet den Wert der Anmerkung run.tanzu.vmware.com/resolve-tkr als Bezeichnungsabfrage, um die Gruppe der potenziellen TKrs einzuschränken. Mit einer leeren Zeichenfolge werden alle TKrs ausgewählt.

Die Werte der Anmerkung run.tanzu.vmware.com/resolve-os-image in der Clustertopologie „controlPlain“ und „machineDeployments“ werden als Bezeichnungsselektoren für OSImage-Objekte eingesetzt, die jeweils mit „controlPlain“ und „machineDeployments“ verwendet werden sollen. Genau ein OSImage, das von der aufgelösten TKr zur Verfügung gestellt wird, muss die Abfrage für „controlPlane“ oder eine der „machineDeployments“ erfüllen.

Die angegebene spec.topology.version des Clusters wird als Versionspräfix verwendet. Der TKr Resolver-Webhook sucht nach der neuesten verfügbaren TKR, die die oben genannten Einschränkungen erfüllt. Wenn diese nicht gefunden wird, wird die Anforderung zum Erstellen/Aktualisieren des Clusters abgelehnt.

Der TKR Resolver-Webhook ändert den Cluster:
  • Die Bezeichnung „run.tanzu.vmware.com/tkr“ ist auf den Namen der aufgelösten TKR festgelegt
  • Die spec.topology.version des Clusters ist auf die Kubernetes-Version der aufgelösten TKR festgelegt
  • Die Clustervariable TKR_DATA wurde aktualisiert und enthält nun eine Zuordnung zwischen der Kubernetes-Version und der Wertemenge aus der TKR und dem OSImage für die controlPlane.
  • Überschreibungen der Variable TKR_DATA für einzelne machineDeployments werden so aktualisiert, dass sie eine Zuordnung zwischen der Kubernetes-Version und der Wertemenge aus der TKR und dem OSImage für die machineDeployment enthalten.