准备配置 Azure NetApp Files 后端
在配置 Azure NetApp Files 后端之前,需要确保满足以下要求。
NFS 和 SMB 卷的先决条件
如果是首次使用 Azure NetApp Files 或在新位置使用,则需要一些初始配置才能设置 Azure NetApp Files 并创建 NFS 卷。请参阅 "Azure:设置 Azure NetApp Files 并创建 NFS 卷"。
要配置和使用 "Azure NetApp Files"后端,您需要以下内容:
|
|
|
-
委托给 Azure NetApp Files 的子网。请参阅 "Microsoft:将子网委托给 Azure NetApp Files"。
-
subscriptionID从已启用 Azure NetApp Files 的 Azure 订阅。 -
tenantID、clientID和clientSecret来自 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 节点。