你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在 Azure Kubernetes 舰队管理器(Kubernetes 舰队)的预览版阶段,进行了内部自定义资源定义 (CRD) API 更改,这会影响服务公共预览版期间创建的少量 Kubernetes 舰队实例。
Microsoft 已通知受影响的 Kubernetes 舰队用户,告知他们使用本文来帮助识别受该更改影响的 Kubernetes 舰队实例。
表中显示了 Kubernetes 舰队自定义资源定义 (CRD) 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 舰队实例,则需要创建新的 Kubernetes 舰队实例并手动传输成员群集。 此为一次性活动。
先决条件
必须向执行此活动的用户分配
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
识别受到影响的实例
设置正确的 Azure 订阅。 如果收到了来自 Microsoft 的通知,可在其中找到应使用的一个或多个订阅 ID。
az account set \ --subscription <subscription-id>
查找订阅中的所有 Kubernetes Fleet 实例。
az resource list \ --resource-type 'Microsoft.ContainerService/fleets'
如果部署了多个 Kubernetes 舰队实例,则可以筛选出 2022 年或 2023 年创建的可能受影响的实例。 2024 中的实例不受影响。
az resource list \ --resource-type 'Microsoft.ContainerService/fleets' \ --query "[?contains(createdTime, '2023') || contains(createdTime, '2022')]"
如果上述查询返回任何匹配的实例,请根据后续步骤所述,判断这些实例是否正使用已停用的 Kubernetes CRD API。
下载 Kubernetes 舰队中心群集的 Kubernetes 凭据。
az fleet get-credentials \ --resource-group <resource-group> \ --name <fleet-name>
查询 Kubernetes 舰队中心群集 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 舰队实例不会受到影响,也无需执行进一步操作。如果有任何实例受到影响,请参阅后续小节了解修正步骤。
修正受到影响的实例
如果发现任何受影响的 Kubernetes 舰队实例,则需执行以下步骤。
- 记录受影响 Kubernetes 舰队实例上定义的任何更新运行和群集资源放置规则。
- 从受影响的 Kubernetes 舰队实例中移除所有成员群集。
- 创建新的 Kubernetes 舰队管理器实例,再根据需要关联成员群集。
- 重新应用并验证从旧的 Kubernetes Fleet 实例中标记的任何配置。
- 删除旧的 Kubernetes 舰队实例。