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

配置 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)。

驱动程序 协议 卷模式 支持的访问模式 支持的文件系统

azure-netapp-files

NFS
SMB

文件系统

Rwo、ROX、rwx、RWOP

nfssmb

注意事项

  • 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