本主題說明系統如何解析 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 值集的對應。