你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

群集管理器:如何在 Operator Nexus 中管理群集管理器

群集管理器部署在操作员的 Azure 订阅中,用于管理操作员 Nexus 基础结构群集的生命周期。

开始之前

确保你有以下信息:

  • Azure 订阅 ID - 需要在其中创建群集管理器的 Azure 订阅 ID(应为网络结构控制器的相同订阅 ID)。
  • Network Fabric 控制器 ID - Network Fabric 控制器和群集管理器具有 1:1 关联。 需要将网络结构控制器的资源 ID 与群集管理器相关联。
  • Azure 区域 - 应在网络结构控制器所在的同一 Azure 区域中创建群集管理器。 此 Azure 区域应在群集管理器和所有关联的操作员 Nexus 实例的 Location 字段中使用。

限制

  • 命名 - 可在此处找到命名规则。

群集管理器属性

属性名称 说明
名称、ID、位置、标记、类型 名称:用户易记名称
ID:资源 ID
位置:创建群集管理器的 Azure 区域。 az account list -locations 中的值。
标记:资源标记
类型:Microsoft.NetworkCloud/clusterManagers
managerExtendedLocation 与群集管理器关联的 ExtendedLocation
managedResourceGroupConfiguration 为群集管理器创建的用于托管其内部使用的资源的受管理资源组的详细信息。
fabricControllerId 对与此群集管理器 1:1 的网络结构控制器的引用
clusterVersions[] 群集管理器支持的群集版本列表。 它用作 Cluster clusterVersion 属性中的输入。
userAssignedIdentity 用户分配的托管标识的详细信息(如果已分配给群集管理器)。
identity 分配给群集管理器的标识类型的详细信息。 下列项之一:UserAssigned 或 SystemAssigned。
provisioningState 群集管理器上最新操作的预配状态。 下列项之一:Succeeded、Failed、Provisioning、Accepted、Updating。
detailedStatus 提供有关群集管理器状态的其他信息的详细状态。
detailedStatusMessage 有关当前详细状态的描述性消息。

群集管理器标识

客户可以将托管标识分配给群集管理器。 从 2024-07-01 API 版本开始,支持系统分配的托管标识和用户分配的托管标识。

如果使用用户分配的托管标识创建群集管理器,则客户需要为 Nexus 平台预配对该标识的访问权限。 具体而言,需要将 Microsoft.ManagedIdentity/userAssignedIdentities/assign/action 权限添加到 AFOI-NC-MGMT-PME-PROD Microsoft Entra ID 的用户分配的标识。 这是该平台的一个已知限制,将在未来解决。

可通过 Azure 门户完成角色分配:

  • 打开 Azure 门户并找到相关用户分配的标识。
    • 如果你预期预配多个托管标识,则可转而在资源组或订阅级添加角色。
  • Access control (IAM) 下,单击“添加新角色分配”
  • 选择角色:Managed Identity Operator。 查看角色提供的权限
  • 将访问权限分配给:用户、组或服务主体
  • 选择成员:AFOI-NC-MGMT-PME-PROD 应用程序
  • 查看并分配

创建群集管理器

使用以下命令创建群集管理器。

使用系统分配的托管标识创建群集管理器:

az networkcloud clustermanager create \
    --name "<CLUSTER_MANAGER_NAME>" \
    --___location "<LOCATION>" \
    --fabric-controller-id "<NFC_ID>" \
    --managed-resource-group-configuration name="<MRG_NAME>" ___location="<MRG_LOCATION>" \
    --tags <TAG_KEY1>="<TAG_VALUE1>" <TAG_KEY2>="<TAG_VALUE2>" \
    --resource-group "<CLUSTER_MANAGER_RG>" \
    --mi-system-assigned \
    --subscription "<SUB_ID>"

使用用户分配的托管标识创建群集管理器:

az networkcloud clustermanager create \
    --name "<CLUSTER_MANAGER_NAME>" \
    --___location "<LOCATION>" \
    --fabric-controller-id "<NFC_ID>" \
    --managed-resource-group-configuration name="<MRG_NAME>" ___location="<MRG_LOCATION>" \
    --tags <TAG_KEY1>="<TAG_VALUE1>" <TAG_KEY2>="<TAG_VALUE2>" \
    --resource-group "<CLUSTER_MANAGER_RG>" \
    --mi-user-assigned "<UAMI_RID>" \
    --subscription "<SUB_ID>"

参数:

  • --name-n [必需] - 群集管理器的名称。
  • --resource-group-g [必需] - 资源组的名称。 可以使用 az configure --defaults group=<name> 配置默认资源组。
  • --fabric-controller-id [必需] - 与群集管理器关联的网络结构控制器的资源 ID。
  • --___location-l - 创建群集管理器的 Azure 区域。 az account list -locations 中的值。 可以使用 az configure --defaults ___location="<LOCATION>" 配置默认位置。
  • --managed-resource-group-configuration - 与资源关联的受管理资源组的配置。
    • 用法:--managed-resource-group-configuration ___location=XX name=XX
    • 位置:托管资源组的区域。 如果未指定,则选择父资源的区域。
    • 名称:托管资源组的名称。 如果未指定,则自动生成唯一名称。
  • wait/--no-wait - 等待命令完成或选择不等待长时间操作完成。
  • --tags - 空格分隔标记:key[=value] [key[=value]...]。使用“”清除现有标记。
  • --subscription - 订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID 配置默认订阅。
  • --mi-system-assigned - 启用系统分配的托管标识。 一次只能使用--mi-user-assigned--mi-system-assigned之一。
  • --mi-user-assigned - 要添加的用户分配托管标识的资源 ID。 一次只能使用--mi-user-assigned--mi-system-assigned中的一个。 群集管理器仅支持一个用户分配的托管标识。
  • --if-match/if-none-match - 指定最后看到的 ETag 值以防止意外覆盖并发更改。 创建资源后,ETag 将作为资源属性返回,并可用于更新操作。

每个 Azure CLI 命令可用的常用参数:

  • --debug - 打印有关用于调试目的的 CLI 执行的详细信息。 如果发现了 bug,在提交 bug 报告时,请提供启用 --debug 标志生成的输出。
  • --output-o - 指定输出格式。 可用的输出格式为 Json、Jsonc(彩色 JSON)、tsv(制表分隔值)、表(人可读 ASCII 表)和 yaml。 默认情况下,CLI 输出 JSON。
  • --query - 使用 JMESPath 查询语言筛选从 Azure 服务返回的输出。

列出/显示群集管理器

列出和显示命令用于获取现有群集管理器的列表或特定群集管理器的属性。

此命令列出指定资源组中的群集管理器。

az networkcloud clustermanager list --resource-group "<CLUSTER_MANAGER_RG>" --subscription "<SUB_ID>"

此命令列出指定订阅中的群集管理器。

az networkcloud clustermanager list  --subscription "<SUB_ID>"

此命令显示指定群集管理器的属性。

az networkcloud clustermanager show \
    --name "<CLUSTER_MANAGER_NAME>" \
    --resource-group "<CLUSTER_MANAGER_RG>" \
    --subscription "<SUB_ID>"

更新群集管理器

此命令用于修补提供的群集管理器的属性,或更新分配给群集管理器的标记。 属性和标记更新可以独立完成。

此命令更新指定资源组中的群集管理器。

az networkcloud clustermanager update \
    --name "<CLUSTER_MANAGER_NAME>" \
    --tags <TAG_KEY1>="<TAG_VALUE1>" <TAG_KEY2>="<TAG_VALUE2>" \
    --resource-group "<CLUSTER_MANAGER_RG>" \
    --subscription "<SUB_ID>"

可以使用子命令通过 az networkcloud clustermanager identity CLI 管理群集管理器标识。

此命令显示当前分配的标识。

az networkcloud clustermanager identity show \
    --name "<CLUSTER_MANAGER_NAME>" \
    --resource-group "<CLUSTER_MANAGER_RG>" \
    --subscription "<SUB_ID>"

此命令添加用户分配的标识。

az networkcloud clustermanager identity assign \
    --name "<CLUSTER_MANAGER_NAME>" \
    --resource-group "<CLUSTER_MANAGER_RG>" \
    --subscription "<SUB_ID>" \
    --mi-user-assigned "<UAMI_RESOURCE_ID>"

此命令添加系统分配的标识。

az networkcloud clustermanager identity assign \
    --name "<CLUSTER_MANAGER_NAME>" \
    --resource-group "<CLUSTER_MANAGER_RG>" \
    --subscription "<SUB_ID>" \
    --mi-system-assigned

此命令删除用户分配的标识。

az networkcloud clustermanager identity remove \
    --name "<CLUSTER_MANAGER_NAME>" \
    --resource-group "<CLUSTER_MANAGER_RG>" \
    --subscription "<SUB_ID>" \
    --mi-user-assigned "<UAMI_RESOURCE_ID>"

此命令删除系统分配的标识。

az networkcloud clustermanager identity remove \
    --name "<CLUSTER_MANAGER_NAME>" \
    --resource-group "<CLUSTER_MANAGER_RG>" \
    --subscription "<SUB_ID>" \
    --mi-system-assigned

删除群集管理器

此命令用于删除提供的群集管理器。

警告

具有任何现有关联群集的群集管理器将无法删除。 删除群集管理器之前,必须先删除所有现有的关联群集。

az networkcloud clustermanager delete \
    --name "<CLUSTER_MANAGER_NAME>" \
    --resource-group "<CLUSTER_MANAGER_RG>" \
    --subscription "<SUB_ID>"

注意

最佳做法是,在删除群集管理器后等待 20 分钟,然后再尝试创建具有相同名称的新群集管理器。

后续步骤

成功创建网络结构控制器和群集管理器后,下一步是创建网络结构