配置存储后端
ONTAP SAN 和 NAS 驱动程序集成
要创建存储后端,需要以 JSON 或 YAML 格式创建配置文件。文件需要指定所需的存储类型(NAS 或 SAN)、文件系统和获取该文件的 SVM 以及使用该文件进行身份验证的方式。以下示例演示如何定义基于 NAS 的存储并使用 AWS 密钥将凭据存储到要使用的 SVM:
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: backend-tbc-ontap-nas
namespace: trident
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"
"namespace": "trident"
},
"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"
}
}
}
运行以下命令以创建和验证 Trident Backend Configuration (TBC):
-
从 yaml 文件创建 Trident 后端配置 (TBC) 并运行以下命令:
kubectl create -f backendconfig.yaml -n tridenttridentbackendconfig.trident.netapp.io/backend-tbc-ontap-nas created
-
验证已成功创建 Trident 后端配置 (TBC):
Kubectl get tbc -n tridentNAME BACKEND NAME BACKEND UUID PHASE STATUS backend-tbc-ontap-nas tbc-ontap-nas 933e0071-66ce-4324-b9ff-f96d916ac5e9 Bound Success
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-economy:每个配置的 PV 都是一个 LUN,每个 Amazon FSx for NetApp ONTAP 卷具有可配置数量的 LUN。 -
ontap-nas-economy:配置的每个 PV 都是一个 qtree,每个 Amazon FSx for NetApp ONTAP 卷的 qtree 数量可配置。 -
ontap-nas-flexgroup:设置的每个 PV 都是完整的 Amazon FSx for NetApp ONTAP FlexGroup 卷。
有关驱动程序的详细信息,请参阅 "NAS 驱动程序" 和 "SAN 驱动程序"。
创建配置文件后,运行此命令在 EKS 中创建它:
kubectl create -f configuration_file
要验证状态,请运行以下命令:
kubectl get tbc -n trident
NAME BACKEND NAME BACKEND UUID PHASE STATUS backend-fsx-ontap-nas backend-fsx-ontap-nas 7a551921-997c-4c37-a1d1-f2f4c87fa629 Bound Success
后端高级配置和示例
有关后端配置选项,请参见下表:
| 参数 | 说明 | 示例 |
|---|---|---|
|
始终为 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 驱动程序:NetApp 建议指定 dataLIF。如果未提供,Trident 会从 SVM 获取 dataLIF。您可以指定要用于 NFS 挂载操作的完全限定域名 (FQDN),允许您创建轮询 DNS 以跨多个 dataLIF 进行负载平衡。可以在初始设置后更改。请参阅。ONTAP SAN 驱动程序:不要为 iSCSI 指定。Trident 使用 ONTAP Selective LUN Map 来发现建立多路径会话所需的 iSCI LIF。如果明确定义了 dataLIF,则会生成警告。如果使用 IPv6 标志安装了 Trident,则可以设置为使用 IPv6 地址。IPv6 地址必须在方括号中定义,例如 [28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555]。 |
|
|
启用自动导出策略创建和更新 [Boolean]。使用 |
|
|
启用 `autoExportPolicy`时用于过滤 Kubernetes 节点 IP 的 CIDR 列表。使用 `autoExportPolicy`和 `autoExportCIDRs`选项,Trident 可以自动管理导出策略。 |
"["0.0.0.0/0", "::/0"]" |
|
要应用于卷的任意 JSON 格式标签集 |
"" |
|
客户端证书的 Base64 编码值。用于基于证书的身份验证 |
"" |
|
客户端私钥的 Base64 编码值。用于基于证书的身份验证 |
"" |
|
受信任 CA 证书的 Base64 编码值。可选。用于基于证书的身份验证。 |
"" |
|
连接到集群或 SVM 的用户名。用于基于凭据的身份验证。例如,vsadmin。 |
|
|
连接到集群或 SVM 的密码。用于基于凭据的身份验证。 |
|
|
要使用的 Storage Virtual Machine |
如果指定了 SVM managementLIF,则派生。 |
|
在 SVM 中配置新卷时使用的前缀。创建后无法修改。要更新此参数,您需要创建一个新的后端。 |
|
|
*请勿为 Amazon FSx for NetApp ONTAP 指定。*提供的 `fsxadmin`和 `vsadmin`不包含检索聚合使用情况并使用 Trident 限制它所需的权限。 |
请勿使用。 |
|
如果请求的卷大小高于此值,则设置失败。还限制其为 qtree 和 LUN 管理的卷的最大大小,并且该 `qtreesPerFlexvol`选项允许自定义每个 FlexVol 卷的最大 qtree 数 |
" (默认情况下不强制执行) |
|
每个 FlexVol volume 的最大 LUN 数必须在 [50, 200] 范围内。仅限 SAN。 |
“100” |
|
故障排除时使用的调试标志。例如,{"api":false, "method":true} 除非正在进行故障排除并需要详细的日志转储,否则不要使用 |
空 |
|
NFS 挂载选项的逗号分隔列表。Kubernetes 持久卷的挂载选项通常在存储类中指定,但如果存储类中未指定挂载选项,则 Trident 将回退到使用存储后端配置文件中指定的挂载选项。如果存储类或配置文件中未指定挂载选项,Trident 将不会在关联的持久卷上设置任何挂载选项。 |
"" |
|
配置 NFS 或 SMB 卷创建。选项为 |
|
|
每个 FlexVol 卷的最大 Qtree 数,必须在 [50, 300] 范围内 |
|
|
您可以指定以下选项之一:使用 Microsoft Management Console 或 ONTAP CLI 创建的 SMB 共享的名称,或允许 Trident 创建 SMB 共享的名称。Amazon FSx for ONTAP 后端需要此参数。 |
|
|
使用 ONTAP REST API 的布尔参数。当设置为 `true`时,Trident 将使用 ONTAP REST API 与后端进行通信。此功能需要 ONTAP 9.11.1 及更高版本。此外,所使用的 ONTAP 登录角色必须能够访问 `ontap`应用程序。这通过预定义的 `vsadmin`和 `cluster-admin`角色来满足。 |
|
|
您可以在 AWS FSx for ONTAP 的配置文件中指定以下内容:- |
|
|
指定要存储在 AWS Secrets Manager 中的 FSx SVM 凭据。- |
用于配置卷的后端配置选项
您可以使用配置的 defaults 部分中的这些选项来控制默认配置。有关示例,请参阅下面的配置示例。
| 参数 | 说明 | 默认 |
|---|---|---|
|
LUN 的空间分配 |
|
|
空间预留模式;"none"(精简)或 "volume"(厚) |
|
|
要使用的 Snapshot 策略 |
|
|
要为创建的卷分配的 QoS 策略组。为每个存储池或后端选择 qosPolicy 或 adaptiveQosPolicy 中的一个。在 Trident 中使用 QoS 策略组需要 ONTAP 9.8 或更高版本。您应该使用非共享 QoS 策略组,并确保该策略组单独应用于每个组成部分。共享 QoS 策略组强制执行所有工作负载总吞吐量的上限。 |
"" |
|
要为创建的卷分配的自适应 QoS 策略组。为每个存储池或后端选择 qosPolicy 或 adaptiveQosPolicy 中的一个。ontap-nas-economy 不支持此功能。 |
"" |
|
为快照"0"保留的卷的百分比 |
如果 |
|
创建时从其父级拆分克隆 |
|
|
在新卷上启用 NetApp Volume Encryption (NVE);默认为 |
|
|
启用 LUKS 加密。请参阅 "使用 Linux Unified Key Setup (LUKS)"。仅限 SAN。 |
"" |
|
要使用的分层策略 |
|
|
新卷的模式。对于 SMB 卷,请留空。 |
"" |
|
新卷的安全样式。NFS 支持 `mixed`和 `unix`安全样式。SMB 支持 `mixed`和 `ntfs`安全样式。 |
NFS 默认值为 |
配置 SMB 卷
您可以使用 ontap-nas 驱动程序配置 SMB 卷。在完成ONTAP SAN 和 NAS 驱动程序集成之前,请完成以下步骤:"准备配置 SMB 卷"。