配置 Azure NetApp Files 后端
您可以将Azure NetApp Files配置为Trident的后端。您可以使用Azure NetApp Files后端连接NFS和SMB卷。Trident还支持使用托管身份对Azure Kubnetes Services (AKS)集群进行凭据管理。
Azure NetApp Files驱动程序详细信息
Trident提供了以下Azure NetApp Files存储驱动程序来与集群进行通信。支持的访问模式包括:ReadWriteOnce(RWO)、ReadOnlyMany(ROX)、ReadWriteMany(rwx)、ReadWriteOncePod(RWOP)。
驱动程序 | 协议 | 卷模式 | 支持的访问模式 | 支持的文件系统 |
---|---|---|---|---|
|
NFS |
文件系统 |
Rwo、ROX、rwx、RWOP |
|
注意事项
-
Azure NetApp Files服务不支持小于50 GiB的卷。如果请求的卷较小、Trident会自动创建50 GiB卷。
-
Trident仅支持挂载到Windows节点上运行的Pod的SMB卷。
AKS的受管身份
Trident支持"受管身份"Azure Kubnetes服务集群。要利用受管身份提供的简化凭据管理、您必须:
-
使用AKS部署的Kubbernetes集群
-
在AKS Kubbernetes集群上配置的受管身份
-
安装了Trident,其中包括要指定
"Azure"`的 `cloudProvider
。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.2410.0.tgz --create-namespace --namespace <trident-namespace> --set cloudProvider=$CP
<code>tridentctl</code>以下示例将安装Trident并将标志设置
cloudProvider`为 `Azure
:tridentctl install --cloud-provider="Azure" -n trident
适用于AKS的云身份
通过云身份、Kubnetes Pod可以通过作为工作负载身份进行身份验证来访问Azure资源、而不是提供明确的Azure凭据。
要在Azure中利用云身份、您必须:
-
使用AKS部署的Kubbernetes集群
-
在AKS Kubelnetes集群上配置的工作负载身份和oidc-Issuer
-
已安装Trident、其中包括 `cloudProvider`用于指定 `"Azure"`和 `cloudIdentity`指定工作负载标识的
Trident 运算符要使用Trident运算符安装Trident,请编辑
tridentorchestrator_cr.yaml`以将设置为,并将 `cloudIdentity`设置 `cloudProvider`为 `"Azure"
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'*
掌舵使用以下环境变量设置*云提供程序(CP)*和*云身份(CI)*标志的值:
export CP="Azure"
export CI="'azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx'"
以下示例将安装Trident并使用环境变量将设置
cloudProvider`为Azure `$CP
、并使用环境变量$CI`设置 `cloudIdentity
:helm install trident trident-operator-100.2410.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