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

配置Azure NetApp Files后端

贡献者 netapp-aruldeepa

您可以将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)。

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

azure-netapp-files

NFS SMB

Filesystem

RWO、ROX、RWX、RWOP

nfssmb

注意事项

  • 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