本主題說明系統如何解析 TKr 映像。

TKr 解析

建立或更新叢集物件時,Kubernetes API 伺服器會叫用 TKr 解析程式變動 Webhook。叢集 (或其 ClusterClass) 必須具有 run.tanzu.vmware.com/resolve-tkr 註解。否則,將完全跳過 TKr 解析。TKr 解析程式使用 run.tanzu.vmware.com/resolve-tkr 註解的值作為標籤查詢來限制候選 TKr 集。如果該字串為空白,系統會選取所有 TKr。

叢集拓撲 controlPlane 和 machineDeployments 上的 run.tanzu.vmware.com/resolve-os-image 註解值分別用作要用於 controlPlane 和 machineDeployments 的 OSImage 物件的標籤選取器。解析後的 TKr 僅附帶一個 OSImage,它必須滿足 controlPlane 或任意 machineDeployments 的查詢。

提供的叢集 spec.topology.version 用作版本前置詞。TKr 解析程式 Webhook 將尋找滿足上述限制的最新可用 TKR。如果未找到,則會拒絕叢集建立/更新要求。

TKR 解析程式 Webhook 會使叢集發生變動:
  • run.tanzu.vmware.com/tkr 標籤設定為解析後的 TKR 的名稱
  • 叢集 spec.topology.version 設定為解析後的 TKR 的 Kubernetes 版本
  • 叢集變數 TKR_DATA 會更新,以包含從 Kubernetes 版本到 controlPlane 的 TKR 和 OSImage 值集的映像。
  • 個別 machineDeployments 的 TKR_DATA 變數覆寫會更新,以包含從 Kubernetes 版本到 machineDeployment 的 TKR 和 OSImage 值集的對應。