共用方式為


將 Azure Kubernetes Fleet Manager 預覽實例遷移至支援的狀態

在 Azure Kubernetes Fleet Manager (Kubernetes Fleet) 的預覽階段,已進行內部自定義資源定義 (CRD) API 變更,這會影響服務公開預覽期間所建立的少量 Kubernetes Fleet 實例。

Microsoft通知受影響的 Kubernetes Fleet 使用者,他們可以使用本文來協助識別受變更影響的 Kubernetes Fleet 實例。

數據表中會顯示 Kubernetes Fleet 自訂資源定義 (CRDs) API 變更。

舊 API 定義 (不支援) 新的 API 定義 (支援)
memberclusters.fleet.azure.com/v1alpha1 memberclusters.cluster.kubernetes-fleet.io/v1
internalmemberclusters.fleet.azure.com/v1alpha1 internalmemberclusters.cluster.kubernetes-fleet.io/v1

自 2025 年 3 月起,舊的 API 定義不再收到支援或更新,而且將會從平臺部署中移除。

具有受影響 Kubernetes Fleet 實例的系統管理員必須建立新的 Kubernetes Fleet 實例,並手動傳輸成員叢集。 這是一次性活動。

先決條件

  • 進行此活動的用戶必須獲指派 Azure Kubernetes Fleet Manager RBAC Cluster Admin Entra ID 角色。

  • 您需要安裝 Azure CLI 2.70.0 版或更新版本。 若要安裝或升級,請參閱安裝 Azure CLI

  • 您需要 fleet Azure CLI 擴充功能 1.5.0 版或更新版本,您可以執行下列命令來安裝:

    az extension add --name fleet
    

    執行下列命令,以更新為發行的最新版延伸模組:

    az extension update --name fleet
    

識別受影響的實例

  1. 設定正確的 Azure 訂用帳戶。 如果您收到來自Microsoft的通知,該通知會包含您應該使用的一或多個訂用帳戶標識碼。

    az account set \
        --subscription <subscription-id>
    
  2. 尋找您在訂用帳戶中擁有的所有 Kubernetes Fleet 實例。

    az resource list \
        --resource-type 'Microsoft.ContainerService/fleets'
    

    如果您已部署多個 Kubernetes Fleet 實例,您可以篩選出建立於 2022 年或 2023 年的實例,這些實例可能會受到影響。 2024 中的實例不會受到影響。

    az resource list \
        --resource-type 'Microsoft.ContainerService/fleets' \
        --query "[?contains(createdTime, '2023') || contains(createdTime, '2022')]"
    

    如果上述查詢傳回任何相符的實例,請判斷實例是否使用已淘汰的 Kubernetes CRD API,如後續步驟所述。

  3. 下載 Kubernetes Fleet 中樞叢集的 Kubernetes 認證。

    az fleet get-credentials \
        --resource-group <resource-group> \
        --name <fleet-name>
    
  4. 查詢 Kubernetes Fleet 中樞叢集 Kubernetes API,以判斷是否已部署舊的 CRD 版本。

    kubectl get crd memberclusters.fleet.azure.com
    kubectl get crd internalmemberclusters.fleet.azure.com
    

    如果這兩個查詢都傳回 Error from server (NotFound) customresourcedefinitions.apiextensions.k8s.io,則選取的 Kubernetes Fleet 實例不會受到影響,而且不需要採取進一步的動作。

    如果有任何實例受到影響,請參閱下一節的補救步驟。

補救受影響的情況

如果您識別任何受影響的 Kubernetes Fleet 實例,您必須執行下列步驟。

  1. 記錄受影響 Kubernetes Fleet 實例上定義的任何更新執行和叢集資源放置規則。
  2. 從受影響的 Kubernetes Fleet 實例中移除所有成員叢集。
  3. 建立新的 Kubernetes Fleet Manager 實例,並視需要建立成員叢集的關聯。
  4. 重新套用並驗證您從舊 Kubernetes Fleet 實例所注意到的任何設定。
  5. 刪除舊的 Kubernetes Fleet 實例。