配置Azure NetApp Files后端
您可以将Azure NetApp Files配置为Trident的后端。您可以使用Azure NetApp Files后端附加 NFS 和 SMB 卷。 Trident还支持使用托管标识对 Azure Kubernetes 服务 (AKS) 集群进行凭据管理。
Azure NetApp Files驱动程序详细信息
Trident提供以下Azure NetApp Files存储驱动程序,以便与集群通信。支持的访问模式有:ReadWriteOnce (RWO)、ReadOnlyMany (ROX)、ReadWriteMany (RWX)、ReadWriteOncePod (RWOP)。
| 驱动程序 | 协议 | 音量模式 | 支持的访问模式 | 支持的文件系统 |
|---|---|---|---|---|
|
NFS SMB |
Filesystem |
RWO、ROX、RWX、RWOP |
|
注意事项
-
Azure NetApp Files服务不支持小于 50 GiB 的卷。如果请求的卷较小, Trident会自动创建 50GiB 的卷。
-
Trident仅支持挂载到运行在 Windows 节点上的 pod 的 SMB 卷。
为 AKS 管理身份
Trident支持"托管身份"适用于 Azure Kubernetes 服务集群。要利用托管身份提供的简化凭证管理功能,您必须具备以下条件:
-
使用 AKS 部署的 Kubernetes 集群
-
在 AKS Kubernetes 集群上配置的托管身份
-
已安装的Trident包括
cloudProvider`指定 `"Azure"。Trident操作员要使用Trident操作员安装Trident ,请编辑
tridentorchestrator_cr.yaml`设置 `cloudProvider`到 `"Azure"。例如:apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident imagePullPolicy: IfNotPresent cloudProvider: "Azure"舵以下示例安装Trident套装
cloudProvider`使用环境变量连接到 Azure `$CP:helm install trident trident-operator-100.2506.0.tgz --create-namespace --namespace <trident-namespace> --set cloudProvider=$CP
<code>tridentctl</code>以下示例安装Trident并进行设置
cloudProvider`标记 `Azure:tridentctl install --cloud-provider="Azure" -n trident
AKS 的云身份
云身份使 Kubernetes pod 能够通过作为工作负载身份进行身份验证来访问 Azure 资源,而无需提供显式的 Azure 凭据。
要在 Azure 中利用云身份功能,您必须具备以下条件:
-
使用 AKS 部署的 Kubernetes 集群
-
在 AKS Kubernetes 集群上配置工作负载身份和 oidc-issuer
-
已安装的Trident包括 `cloudProvider`指定 `"Azure"`和 `cloudIdentity`指定工作负载标识
Trident操作员要使用Trident操作员安装Trident ,请编辑
tridentorchestrator_cr.yaml`设置 `cloudProvider`到 `"Azure"`并设置 `cloudIdentity`到 `azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx。例如:
apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident imagePullPolicy: IfNotPresent cloudProvider: "Azure" cloudIdentity: 'azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx' # Edit舵使用以下环境变量设置 cloud-provider (CP) 和 cloud-identity (CI) 标志的值:
export CP="Azure"
export CI="'azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx'"以下示例安装Trident并进行设置
cloudProvider`使用环境变量连接到 Azure `$CP`并设置 `cloudIdentity`使用环境变量 `$CI:helm install trident trident-operator-100.6.0.tgz --set cloudProvider=$CP --set cloudIdentity="$CI"
<code>tridentctl</code>请使用以下环境变量设置 云提供商 和 云身份 标志的值:
export CP="Azure"
export CI="azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx"以下示例安装Trident并进行设置
cloud-provider`标记 `$CP, 和cloud-identity`到 `$CI:tridentctl install --cloud-provider=$CP --cloud-identity="$CI" -n trident