Azure NetApp Files 后端配置选项和示例
了解适用于Azure NetApp Files的NFS和SMB后端配置选项并查看配置示例。
后端配置选项
Asta三端存储使用您的后端配置(子网、虚拟网络、服务级别和位置)在请求位置可用的容量池上创建Azure NetApp Files卷、并与请求的服务级别和子网匹配。
Astra Trident 不支持手动 QoS 容量池。 |
Azure NetApp Files后端提供了这些配置选项。
参数 | Description | Default |
---|---|---|
|
始终为 1 |
|
|
存储驱动程序的名称 |
"Azure-netapp-files" |
|
自定义名称或存储后端 |
驱动程序名称 + "_" + 随机字符 |
|
Azure 订阅中的订阅 ID |
|
|
应用程序注册中的租户 ID |
|
|
应用程序注册中的客户端 ID |
|
|
应用程序注册中的客户端密钥 |
|
|
其中一个 |
"" (随机) |
|
要创建新卷的 Azure 位置的名称 |
|
|
用于筛选已发现资源的资源组列表 |
"[]" (无筛选器) |
|
用于筛选已发现资源的 NetApp 帐户列表 |
"[]" (无筛选器) |
|
用于筛选已发现资源的容量池列表 |
"[]" (无筛选器,随机) |
|
具有委派子网的虚拟网络的名称 |
"" |
|
委派给的子网的名称 |
"" |
|
一个卷的一组vNet功能可能是 |
"" |
|
精细控制 NFS 挂载选项。 |
"nfsvers=3" |
|
如果请求的卷大小超过此值,则配置失败 |
"" (默认情况下不强制实施) |
|
故障排除时要使用的调试标志。示例、 |
空 |
|
配置NFS或SMB卷创建。 |
|
有关网络功能的详细信息、请参见 "配置Azure NetApp Files 卷的网络功能"。 |
所需权限和资源
如果在创建PVC时收到"No Capacity Pools"(未找到容量池)错误、则您的应用程序注册可能没有关联的所需权限和资源(子网、虚拟网络、容量池)。如果启用了调试、则Astra Trident将记录创建后端时发现的Azure资源。验证是否正在使用适当的角色。
的值 resourceGroups
, netappAccounts
, capacityPools
, virtualNetwork
,和 subnet
可以使用短名称或完全限定名称来指定。在大多数情况下、建议使用完全限定名称、因为短名称可以与多个同名资源匹配。
。 resourceGroups
, netappAccounts
,和 capacityPools
值是指筛选器、用于将发现的一组资源限制为此存储后端可用的资源、并且可以以任意组合方式指定。完全限定名称采用以下格式:
Type | 格式。 |
---|---|
Resource group |
< 资源组 > |
NetApp 帐户 |
< 资源组 >/< NetApp 帐户 > |
容量池 |
< 资源组 >/< NetApp 帐户 >/< 容量池 > |
虚拟网络 |
< 资源组 >/< 虚拟网络 > |
Subnet |
< 资源组 >/< 虚拟网络 >/< 子网 > |
卷配置
您可以通过在配置文件的特殊部分中指定以下选项来控制默认卷配置。请参见 示例配置 了解详细信息。
参数 | Description | Default |
---|---|---|
|
新卷的导出规则。 |
"0.0.0.0/0 |
|
控制 .snapshot 目录的可见性 |
false |
|
新卷的默认大小 |
"100 克 " |
|
新卷的UNIX权限(4个八进制数字)。 |
"" (预览功能,需要在订阅中列入白名单) |
示例配置
示例 1 :最低配置
这是绝对的最低后端配置。使用此配置、Asta三端存储可以发现已配置位置委派给Azure NetApp Files的所有NetApp帐户、容量池和子网、并随机将新卷放置在其中一个池和子网上。因为 nasType
省略 nfs
默认情况下适用、后端将为NFS卷配置。
当您刚刚开始使用Azure NetApp Files并尝试某些操作时、此配置是理想的选择、但实际上、您需要为所配置的卷提供额外的范围界定。
--- version: 1 storageDriverName: azure-netapp-files subscriptionID: 9f87c765-4774-fake-ae98-a721add45451 tenantID: 68e4f836-edc1-fake-bff9-b2d865ee56cf clientID: dd043f63-bf8e-fake-8076-8de91e5713aa clientSecret: SECRET location: eastus
示例 2 :使用容量池筛选器的特定服务级别配置
此后端配置会将卷放置在Azure中 eastus
位置 Ultra
容量池。Asta三端存储自动发现该位置委派给Azure NetApp Files的所有子网、并随机在其中一个子网上放置一个新卷。
--- version: 1 storageDriverName: azure-netapp-files subscriptionID: 9f87c765-4774-fake-ae98-a721add45451 tenantID: 68e4f836-edc1-fake-bff9-b2d865ee56cf clientID: dd043f63-bf8e-fake-8076-8de91e5713aa clientSecret: SECRET location: eastus serviceLevel: Ultra capacityPools: - application-group-1/account-1/ultra-1 - application-group-1/account-1/ultra-2
示例 3 :高级配置
此后端配置进一步将卷放置范围缩小为一个子网,并修改了某些卷配置默认值。
--- version: 1 storageDriverName: azure-netapp-files subscriptionID: 9f87c765-4774-fake-ae98-a721add45451 tenantID: 68e4f836-edc1-fake-bff9-b2d865ee56cf clientID: dd043f63-bf8e-fake-8076-8de91e5713aa clientSecret: SECRET location: eastus serviceLevel: Ultra capacityPools: - application-group-1/account-1/ultra-1 - application-group-1/account-1/ultra-2 virtualNetwork: my-virtual-network subnet: my-subnet networkFeatures: Standard nfsMountOptions: vers=3,proto=tcp,timeo=600 limitVolumeSize: 500Gi defaults: exportRule: 10.0.0.0/24,10.0.1.0/24,10.0.2.100 snapshotDir: 'true' size: 200Gi unixPermissions: '0777'
示例4:虚拟池配置
此后端配置可在一个文件中定义多个存储池。如果您有多个容量池支持不同的服务级别,并且您希望在 Kubernetes 中创建表示这些服务级别的存储类,则此功能非常有用。虚拟池标签用于根据区分池 performance
。
--- version: 1 storageDriverName: azure-netapp-files subscriptionID: 9f87c765-4774-fake-ae98-a721add45451 tenantID: 68e4f836-edc1-fake-bff9-b2d865ee56cf clientID: dd043f63-bf8e-fake-8076-8de91e5713aa clientSecret: SECRET location: eastus resourceGroups: - application-group-1 networkFeatures: Basic nfsMountOptions: vers=3,proto=tcp,timeo=600 labels: cloud: azure storage: - labels: performance: gold serviceLevel: Ultra capacityPools: - ultra-1 - ultra-2 networkFeatures: Standard - labels: performance: silver serviceLevel: Premium capacityPools: - premium-1 - labels: performance: bronze serviceLevel: Standard capacityPools: - standard-1 - standard-2
存储类定义
以下内容 StorageClass
定义是指上述存储池。
使用的示例定义 parameter.selector
字段
使用 parameter.selector
您可以为每个指定 StorageClass
用于托管卷的虚拟池。卷将在选定池中定义各个方面。
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: gold provisioner: csi.trident.netapp.io parameters: selector: "performance=gold" allowVolumeExpansion: true --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: silver provisioner: csi.trident.netapp.io parameters: selector: "performance=silver" allowVolumeExpansion: true --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: bronze provisioner: csi.trident.netapp.io parameters: selector: "performance=bronze" allowVolumeExpansion: true
SMB卷的示例定义
使用 nasType
, node-stage-secret-name
,和 node-stage-secret-namespace
、您可以指定SMB卷并提供所需的Active Directory凭据。
示例1:默认命名空间上的基本配置
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: anf-sc-smb provisioner: csi.trident.netapp.io parameters: backendType: "azure-netapp-files" trident.netapp.io/nasType: "smb" csi.storage.k8s.io/node-stage-secret-name: "smbcreds" csi.storage.k8s.io/node-stage-secret-namespace: "default"
示例2:每个命名空间使用不同的密钥
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: anf-sc-smb provisioner: csi.trident.netapp.io parameters: backendType: "azure-netapp-files" trident.netapp.io/nasType: "smb" csi.storage.k8s.io/node-stage-secret-name: "smbcreds" csi.storage.k8s.io/node-stage-secret-namespace: ${pvc.namespace}
示例3:每个卷使用不同的密钥
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: anf-sc-smb provisioner: csi.trident.netapp.io parameters: backendType: "azure-netapp-files" trident.netapp.io/nasType: "smb" csi.storage.k8s.io/node-stage-secret-name: ${pvc.name} csi.storage.k8s.io/node-stage-secret-namespace: ${pvc.namespace}
nasType: `smb 支持SMB卷的池的筛选器。 nasType: `nfs 或 nasType: `null NFS池的筛选器。
|
创建后端
创建后端配置文件后,运行以下命令:
tridentctl create backend -f <backend-file>
如果后端创建失败,则后端配置出现问题。您可以运行以下命令来查看日志以确定发生原因:
tridentctl logs
确定并更正配置文件中的问题后,您可以再次运行 create 命令。