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

配置 Azure NetApp Files 后端

贡献者 juliantap netapp-aruldeepa clintonk joan-ing netapp-mwallis lance36

使用 Azure NetApp Files 作为 Trident 的后端。此后端支持 NFS 和 SMB 卷。Trident 支持 Azure Kubernetes Service (AKS) 集群的托管身份和工作负载身份。

支持的 Azure 云环境

Trident 支持多个 Azure 云环境中的 Azure NetApp Files 后端。

支持的 Azure 云包括:

  • Azure 商业版

  • Azure Government(Azure Government / MAG)

部署 Trident 或配置 Azure NetApp Files 后端时,请确保 Azure Resource Manager 和身份验证终结点与 Azure 云环境匹配。

查看 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卷。

  • 非商业 Azure 云中的 Azure NetApp Files 部署需要特定于云的 Azure Resource Manager 和身份验证端点。确保 Trident 和任何后端配置使用适合您的 Azure 云环境的端点。

对 AKS 使用托管标识

Trident 支持 "受管身份" AKS 集群。

如果使用 tridentctl 来创建或管理 Azure NetApp Files 后端,请确保为正确的 Azure 云环境配置它。

要使用托管身份,必须具有:

  • 使用AKS部署的Kubbernetes集群

  • 在 AKS Kubernetes 集群上配置的托管身份

  • Trident 已安装, cloudProvider 设置为 "Azure"

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`进行设置 `$CP

helm install trident trident-operator-100.2506.0.tgz --create-namespace --namespace <trident-namespace> --set cloudProvider=$CP
<code>tridentctl</code>

以下示例安装 Trident 并将 cloud-provider 标志设置为 Azure

tridentctl install --cloud-provider="Azure" -n trident

使用 AKS 的工作负载标识

工作负载标识使 Kubernetes Pod 能够通过作为工作负载标识进行身份验证来访问 Azure 资源。

如果使用 tridentctl 来创建或管理 Azure NetApp Files 后端,请确保为正确的 Azure 云环境配置它。

要使用工作负载标识,必须具有:

  • 使用AKS部署的Kubbernetes集群

  • 在AKS Kubelnetes集群上配置的工作负载身份和oidc-Issuer

  • 已安装 Trident,其中 cloudProvider`设置为 `"Azure", `cloudIdentity`设置为工作负载身份值

Trident 运算符

编辑 tridentorchestrator_cr.yaml 并设置 cloudProvider"Azure"。设置 cloudIdentityazure.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`进行设置,使用 `$CP,并使用 cloudIdentity`进行设置,使用 `$CI

helm install trident trident-operator-100.6.0.tgz --set cloudProvider=$CP --set cloudIdentity="$CI"
<code>tridentctl</code>

使用以下环境变量设置 cloud providercloud identity 标志的值:

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