在 Azure Kubernetes 服务 (AKS) 中使用节点资源组锁定(预览版)部署完全托管的资源组

AKS 可将基础结构部署到订阅中,以用于连接和运行应用程序。 对节点资源组中的资源直接进行更改可能会影响群集操作或导致未来出现问题。 例如,缩放、存储或网络配置应通过 Kubernetes API 进行,而不是直接在这些资源上进行。

若要防止对节点资源组进行更改,可以应用拒绝分配,并阻止用户修改在 AKS 群集中创建的资源。

重要

AKS 预览功能是可选择启用的自助功能。 预览功能是“按现状”和“按可用”提供的,不包括在服务级别协议和有限保证中。 AKS 预览功能是由客户支持尽最大努力部分覆盖。 因此,这些功能并不适合用于生产。 有关详细信息,请参阅以下支持文章:

准备阶段

在开始之前,需要安装并配置以下资源:

  • Azure CLI 版本 2.44.0 或更高版本。 运行 az --version 即可找到当前版本。 如果需要进行安装或升级,请参阅安装 Azure CLI
  • aks-preview 扩展 0.5.126 或更高版本。
  • 在订阅上注册的 NRGLockdownPreview 功能标志。

安装 aks-preview CLI 扩展

使用 az extension addaz extension update 命令安装或更新 aks-preview 扩展。

# Install the aks-preview extension
az extension add --name aks-preview

# Update to the latest version of the aks-preview extension
az extension update --name aks-preview

注册 NRGLockdownPreview 功能标志

  1. 使用 az feature register 命令注册 NRGLockdownPreview 功能标志。

    az feature register --namespace "Microsoft.ContainerService" --name "NRGLockdownPreview"
    

    状态显示为“已注册”需要几分钟时间

  2. 使用 az feature show 命令验证注册状态。

    az feature show --namespace "Microsoft.ContainerService" --name "NRGLockdownPreview"
    
  3. 当状态反映为已注册时,使用 az provider register 命令刷新 Microsoft.ContainerService 资源提供程序的注册。

    az provider register --namespace Microsoft.ContainerService
    

使用节点资源组锁定创建 AKS 群集

使用 az aks create 命令创建带有节点资源组锁定的群集,并将 --nrg-lockdown-restriction-level 标志设置为 ReadOnly。 此配置允许查看资源,但不能对其进行修改。

az aks create \
    --name $CLUSTER_NAME \
    --resource-group $RESOURCE_GROUP_NAME \
    --nrg-lockdown-restriction-level ReadOnly \
    --generate-ssh-keys

使用节点资源组锁定更新现有群集

使用 az aks update 命令更新带有节点资源组锁定的现有群集,并将 --nrg-lockdown-restriction-level 标志设置为 ReadOnly。 此配置允许查看资源,但不能对其进行修改。

az aks update --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP_NAME --nrg-lockdown-restriction-level ReadOnly

从群集中移除节点资源组锁定

使用 az aks update 命令从现有群集中删除节点资源组锁定,并将 --nrg-restriction-level 标志设置为 Unrestricted。 此配置允许查看和修改资源。

az aks update --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP_NAME --nrg-lockdown-restriction-level Unrestricted

后续步骤

若要详细了解 AKS 中的节点资源组,请参阅节点资源组