配置存储后端
ONTAP SAN和NAS驱动程序集成
您可以使用存储在AWS机密管理器中的SVM凭据(用户名和密码)创建后端文件、如以下示例所示:
apiVersion: trident.netapp.io/v1 kind: TridentBackendConfig metadata: name: backend-tbc-ontap-nas spec: version: 1 storageDriverName: ontap-nas backendName: tbc-ontap-nas svm: svm-name aws: fsxFilesystemID: fs-xxxxxxxxxx credentials: name: "arn:aws:secretsmanager:us-west-2:xxxxxxxx:secret:secret-name" type: awsarn
{ "apiVersion": "trident.netapp.io/v1", "kind": "TridentBackendConfig", "metadata": { "name": "backend-tbc-ontap-nas" }, "spec": { "version": 1, "storageDriverName": "ontap-nas", "backendName": "tbc-ontap-nas", "svm": "svm-name", "aws": { "fsxFilesystemID": "fs-xxxxxxxxxx" }, "managementLIF": null, "credentials": { "name": "arn:aws:secretsmanager:us-west-2:xxxxxxxx:secret:secret-name", "type": "awsarn" } } }
有关创建后端的信息、请参见以下页面:
FSx for ONTAP驱动程序详细信息
您可以使用以下驱动程序将Trident与Amazon FSx for NetApp ONTAP集成:
-
ontap-san
:配置的每个PV都是其自身Amazon FSx for NetApp ONTAP卷中的一个LUN。建议用于块存储。 -
ontap-nas
:配置的每个PV都是一个完整的Amazon FSx for NetApp ONTAP卷。建议用于NFS和SMB。 -
ontap-san-economi
:为 NetApp ONTAP 卷配置的每个 PV 都是一个 LUN ,每个 Amazon FSX 具有可配置的 LUN 数量。 -
ontap-nas-economy.
:配置的每个 PV 都是一个 qtree ,对于 NetApp ONTAP 卷,每个 Amazon FSx 的 qtree 数量是可配置的。 -
ontap-nas-flexgroup
:配置的每个 PV 都是适用于 NetApp ONTAP FlexGroup 卷的完整 Amazon FSX 。
示例配置
使用密钥管理器配置AWS FSx for ONTAP
apiVersion: trident.netapp.io/v1 kind: TridentBackendConfig metadata: name: backend-tbc-ontap-nas spec: version: 1 storageDriverName: ontap-nas backendName: tbc-ontap-nas svm: svm-name aws: fsxFilesystemID: fs-xxxxxxxxxx managementLIF: credentials: name: "arn:aws:secretsmanager:us-west-2:xxxxxxxx:secret:secret-name" type: awsarn
配置SMB卷的存储类
使用 nasType
, node-stage-secret-name
,和 node-stage-secret-namespace
、您可以指定SMB卷并提供所需的Active Directory凭据。SMB卷支持使用 ontap-nas
仅限驱动程序。
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: nas-smb-sc provisioner: csi.trident.netapp.io parameters: backendType: "ontap-nas" trident.netapp.io/nasType: "smb" csi.storage.k8s.io/node-stage-secret-name: "smbcreds" csi.storage.k8s.io/node-stage-secret-namespace: "default"
后端高级配置和示例
有关后端配置选项,请参见下表:
参数 | Description | 示例 |
---|---|---|
|
始终为 1 |
|
|
存储驱动程序的名称 |
|
|
自定义名称或存储后端 |
驱动程序名称 + "_" + dataLIF |
|
集群或SVM管理LIF的IP地址可以指定完全限定域名(FQDN)。如果Trident是使用IPv6标志安装的、则可以设置为使用IPv6地址。IPv6地址必须用方括号定义、例如:[28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555]。如果在字段下 |
"10.0.0.1 " , "2001 : 1234 : abcd ::: fefe] " |
|
协议 LIF 的 IP 地址。* ONTAP NAS驱动程序*:建议指定dataLIF。如果不提供此参数、则Trident将从SVM提取数据LUN。您可以指定用于NFS挂载操作的完全限定域名(FQDN)、从而可以创建循环DNS、以便在多个数据LIF之间实现负载平衡。可以在初始设置后更改。请参阅 。* ONTAP SAN驱动程序*:不为iSCSI指定。Trident使用ONTAP选择性LUN映射来发现建立多路径会话所需的iSCI LI。如果明确定义了dataLIF、则会生成警告。如果Trident是使用IPv6标志安装的、则可以设置为使用IPv6地址。IPv6地址必须用方括号定义、例如:[28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555]。 |
|
|
启用自动创建和更新导出策略[布尔值]。使用 `autoExportPolicy`和 `autoExportCIDRs`选项、Trident可以自动管理导出策略。 |
|
|
用于筛选KubeNet节点IP的CIDR列表(启用时)。 `autoExportPolicy`使用 `autoExportPolicy`和 `autoExportCIDRs`选项、Trident可以自动管理导出策略。 |
"["0.0.0.0/0 "、"::/0 "]" |
|
要应用于卷的一组任意 JSON 格式的标签 |
"" |
|
客户端证书的 Base64 编码值。用于基于证书的身份验证 |
"" |
|
客户端专用密钥的 Base64 编码值。用于基于证书的身份验证 |
"" |
|
受信任 CA 证书的 Base64 编码值。可选。用于基于证书的身份验证。 |
"" |
|
用于连接到集群或SVM的用户名。用于基于凭据的身份验证。例如、vsadmin。 |
|
|
用于连接到集群或SVM的密码。用于基于凭据的身份验证。 |
|
|
要使用的 Storage Virtual Machine |
如果指定SVM管理LIF则派生。 |
|
在 SVM 中配置新卷时使用的前缀。创建后无法修改。要更新此参数、您需要创建一个新的后端。 |
|
|
*请勿指定Amazon FSx for NetApp ONTAP。*提供的和 `vsadmin`不包含使用Trident检索聚合使用情况并对其进行限制所需的 `fsxadmin`权限。 |
请勿使用。 |
|
如果请求的卷大小超过此值、则配置失败。此外、还会限制它为qtree和LUN以及管理的卷的最大大小 |
" (默认情况下不强制实施) |
|
每个FlexVol 的最大LUN数必须在50、200范围内。仅限SAN。 |
“100” |
|
故障排除时要使用的调试标志。例如、{"api":false、"method ":true}不使用 |
空 |
|
NFS挂载选项的逗号分隔列表。通常会在存储类中为Kubnetes-永久性 卷指定挂载选项、但如果在存储类中未指定挂载选项、则Trident将回退到使用存储后端配置文件中指定的挂载选项。如果在存储类或配置文件中未指定挂载选项、则Trident不会在关联的永久性卷上设置任何挂载选项。 |
"" |
|
配置NFS或SMB卷创建。选项包括 |
|
|
每个 FlexVol 的最大 qtree 数,必须在 50 , 300 范围内 |
|
|
您可以指定以下选项之一:使用Microsoft管理控制台或ONTAP命令行界面创建的SMB共享的名称、或者允许Trident创建SMB共享的名称。对于Amazon FSx for ONTAP后端、此参数是必需的。 |
|
|
用于使用 ONTAP REST API 的布尔参数。技术预览 |
|
|
您可以在AWS FSx for ONTAP的配置文件中指定以下内容: |
|
|
指定要存储在AWS机密管理器中的FSx SVM凭据。 |
用于配置卷的后端配置选项
您可以在中使用这些选项控制默认配置 defaults
配置部分。有关示例,请参见以下配置示例。
参数 | Description | Default |
---|---|---|
|
LUN 的空间分配 |
|
|
空间预留模式; " 无 " (精简)或 " 卷 " (厚) |
|
|
要使用的 Snapshot 策略 |
|
|
要为创建的卷分配的 QoS 策略组。选择每个存储池或后端的qosPolicy或adaptiveQosPolicy之一。将QoS策略组与Trident结合使用需要使用ONTAP 9™8或更高版本。您应使用非共享QoS策略组、并确保此策略组分别应用于每个成分卷。共享QoS策略组会对所有工作负载的总吞吐量实施上限。 |
" |
|
要为创建的卷分配的自适应 QoS 策略组。选择每个存储池或后端的qosPolicy或adaptiveQosPolicy之一。不受 ontap-nas-economy. |
" |
|
为快照预留的卷百分比为 "0" |
条件 |
|
创建克隆时,从其父级拆分该克隆 |
|
|
在新卷上启用NetApp卷加密(NVE);默认为 |
|
|
启用LUKS加密。请参见 "使用Linux统一密钥设置(LUKS)"。仅限SAN。 |
"" |
|
要使用的层策略 |
|
|
新卷的模式。对于SMB卷保留为空。 |
"" |
|
新卷的安全模式。NFS支持 |
NFS默认值为 |
准备配置SMB卷
您可以使用配置SMB卷 ontap-nas
驱动程序。完成前 ONTAP SAN和NAS驱动程序集成 完成以下步骤。
才能使用配置SMB卷 ontap-nas
驱动程序、则必须满足以下条件。
-
一个Kubernetes集群、其中包含一个Linux控制器节点以及至少一个运行Windows Server 2019的Windows工作节点。Trident仅支持挂载到Windows节点上运行的Pod的SMB卷。
-
至少一个包含Active Directory凭据的Trident密钥。生成密钥
smbcreds
:kubectl create secret generic smbcreds --from-literal username=user --from-literal password='password'
-
配置为Windows服务的CSI代理。配置
csi-proxy
、请参见 "GitHub:CSI代理" 或 "GitHub:适用于Windows的CSI代理" 适用于在Windows上运行的Kubernetes节点。
-
创建SMB共享。您可以使用以下两种方式之一创建SMB管理共享 "Microsoft管理控制台" 共享文件夹管理单元或使用ONTAP 命令行界面。要使用ONTAP 命令行界面创建SMB共享、请执行以下操作:
-
如有必要,为共享创建目录路径结构。
。
vserver cifs share create
命令会在创建共享期间检查-path选项中指定的路径。如果指定路径不存在,则命令将失败。 -
创建与指定SVM关联的SMB共享:
vserver cifs share create -vserver vserver_name -share-name share_name -path path [-share-properties share_properties,...] [other_attributes] [-comment text]
-
验证是否已创建共享:
vserver cifs share show -share-name share_name
请参见 "创建 SMB 共享" 了解完整详细信息。
-
-
创建后端时、必须配置以下内容以指定SMB卷。有关适用于ONTAP 后端的所有FSX配置选项、请参见 "适用于ONTAP 的FSX配置选项和示例"。
参数 Description 示例 smbShare
您可以指定以下选项之一:使用Microsoft管理控制台或ONTAP命令行界面创建的SMB共享的名称、或者允许Trident创建SMB共享的名称。对于Amazon FSx for ONTAP后端、此参数是必需的。
smb-share
nasType
*必须设置为
smb`如果为空、则默认为 `nfs
。smb
securityStyle
新卷的安全模式。必须设置为
ntfs
或mixed
用于SMB卷。ntfs
或mixed
对于SMB卷unixPermissions
新卷的模式。对于SMB卷、必须留空。
""