Skip to main content
本产品推出了新版本。
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

准备配置 Azure NetApp Files 后端

在配置 Azure NetApp Files 后端之前,需要确保满足以下要求。

NFS 和 SMB 卷的先决条件

如果是首次使用 Azure NetApp Files 或在新位置使用,则需要一些初始配置才能设置 Azure NetApp Files 并创建 NFS 卷。请参阅 "Azure:设置 Azure NetApp Files 并创建 NFS 卷"

要配置和使用 "Azure NetApp Files"后端,您需要以下内容:

备注
  • 在 AKS 集群上使用托管标识时,subscriptionIDtenantIDclientIDlocationclientSecret 是可选的。

  • tenantIDclientIDclientSecret 在 AKS 集群上使用云标识时是可选的。

  • 容量池。请参阅 "Microsoft:为 Azure NetApp Files 创建容量池"

  • 委托给 Azure NetApp Files 的子网。请参阅 "Microsoft:将子网委托给 Azure NetApp Files"

  • subscriptionID 从已启用 Azure NetApp Files 的 Azure 订阅。

  • tenantIDclientIDclientSecret 来自 Azure Active Directory 中对 Azure NetApp Files 服务具有足够权限的 "应用注册"。应用程序注册应使用以下任一功能:

    • 所有者或参与者角色"由 Azure 预定义"

    • 订阅级别的 "自定义 Contributor 角色"(assignableScopes)具有以下权限,仅限于 Trident 所需的权限。创建自定义角色后,"使用 Azure 门户分配角色"

      自定义贡献者角色
      {
        "id": "/subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleDefinitions/<role-definition-id>",
        "properties": {
          "roleName": "custom-role-with-limited-perms",
          "description": "custom role providing limited permissions",
          "assignableScopes": [
            "/subscriptions/<subscription-id>"
          ],
          "permissions": [
            {
              "actions": [
                "Microsoft.NetApp/netAppAccounts/capacityPools/read",
                "Microsoft.NetApp/netAppAccounts/capacityPools/write",
                "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/read",
                "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/write",
                "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/delete",
                "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/read",
                "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/write",
                "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/delete",
                "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/MountTargets/read",
                "Microsoft.Network/virtualNetworks/read",
                "Microsoft.Network/virtualNetworks/subnets/read",
                "Microsoft.Features/featureProviders/subscriptionFeatureRegistrations/read",
                "Microsoft.Features/featureProviders/subscriptionFeatureRegistrations/write",
                "Microsoft.Features/featureProviders/subscriptionFeatureRegistrations/delete",
                "Microsoft.Features/features/read",
                "Microsoft.Features/operations/read",
                "Microsoft.Features/providers/features/read",
                "Microsoft.Features/providers/features/register/action",
                "Microsoft.Features/providers/features/unregister/action",
                "Microsoft.Features/subscriptionFeatureRegistrations/read"
              ],
              "notActions": [],
              "dataActions": [],
              "notDataActions": []
            }
          ]
        }
      }
  • 包含至少一个 `location`的 Azure "委派子网"。从 Trident 22.01 开始, `location`参数是后端配置文件顶层的必填字段。在虚拟池中指定的位置值将被忽略。

  • 要使用 Cloud Identity,请从 "用户分配的托管标识"获取 client ID,并在 `azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx`中指定该 ID。

SMB 卷的其他要求

要创建 SMB 卷,必须具有:

  • Active Directory 已配置并连接到 Azure NetApp Files。请参阅 "Microsoft:为 Azure NetApp Files 创建和管理 Active Directory 连接"

  • 具有 Linux 控制器节点和至少一个运行 Windows Server 2022 的 Windows worker 节点的 Kubernetes 集群。Trident 仅支持装载到在 Windows 节点上运行的 pod 的 SMB 卷。

  • 至少包含一个包含 Active Directory 凭据的 Trident 密码,以便 Azure NetApp Files 可以向 Active Directory 进行身份验证。要生成密钥 smbcreds

    kubectl create secret generic smbcreds --from-literal username=user --from-literal password='password'
  • 配置为 Windows 服务的 CSI 代理。要配置 csi-proxy,请参阅"GitHub:CSI Proxy""GitHub:适用于 Windows 的 CSI 代理"了解在 Windows 上运行的 Kubernetes 节点。