配置存储后端
ONTAP SAN 和 NAS 驱动程序集成
要创建存储后端,您需要创建 JSON 或 YAML 格式的配置文件。该文件需要指定您想要的存储类型(NAS 或 SAN)、文件系统、要从中获取存储的 SVM 以及如何对其进行身份验证。以下示例展示了如何定义基于 NAS 的存储,以及如何使用 AWS Secret 来存储要使用的 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后端配置 (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 适用于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卷。
配置文件创建完成后,运行以下命令将其创建在 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]。如果您提供 `fsxFilesystemID`在 `aws`字段中,您无需提供 `managementLIF`因为Trident可以检索 SVM `managementLIF`来自 AWS 的信息。因此,您必须提供 SVM 下用户的凭据(例如:vsadmin),并且该用户必须拥有以下权限: `vsadmin`角色。 |
"10.0.0.1", "[2001:1234:abcd::fefe]" |
|
LIF协议的IP地址。 * ONTAP NAS 驱动程序*: NetApp建议指定 dataLIF。如果未提供, Trident将从 SVM 获取 dataLIF。您可以指定一个完全限定域名 (FQDN) 用于 NFS 挂载操作,从而创建轮询 DNS 以在多个 dataLIF 之间进行负载均衡。初始设置后可以更改。参考。 * ONTAP SAN 驱动程序*:不要为 iSCSI 指定。 Trident使用ONTAP选择性 LUN 映射来发现建立多路径会话所需的 iSCI LIF。如果显式定义了 dataLIF,则会生成警告。如果Trident安装时使用了 IPv6 标志,则可以设置为使用 IPv6 地址。 IPv6 地址必须用方括号定义,例如 [28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555]。 |
|
|
启用自动导出策略创建和更新 [布尔值]。使用 `autoExportPolicy`和 `autoExportCIDRs`可选功能包括: Trident可以自动管理出口策略。 |
|
|
用于过滤 Kubernetes 节点 IP 的 CIDR 列表 `autoExportPolicy`已启用。使用 `autoExportPolicy`和 `autoExportCIDRs`可选功能包括: Trident可以自动管理出口策略。 |
"["0.0.0.0/0", "::/0"]" |
|
要应用于卷的任意 JSON 格式标签集 |
"" |
|
客户端证书的 Base64 编码值。用于基于证书的身份验证 |
"" |
|
客户端私钥的 Base64 编码值。用于基于证书的身份验证 |
"" |
|
受信任 CA 证书的 Base64 编码值。可选。用于基于证书的身份验证。 |
"" |
|
连接到集群或 SVM 的用户名。用于基于凭证的身份验证。例如,vsadmin。 |
|
|
连接集群或SVM的密码。用于基于凭证的身份验证。 |
|
|
使用的存储虚拟机 |
如果指定了 SVM 管理 LIF,则派生出该 LIF。 |
|
在 SVM 中配置新卷时使用的前缀。创建后无法修改。要更新此参数,您需要创建一个新的后端。 |
|
|
*请勿指定用于Amazon FSx for NetApp ONTAP。*提供的 `fsxadmin`和 `vsadmin`不包含检索汇总使用情况和使用Trident限制它所需的权限。 |
请勿使用。 |
|
如果请求的卷大小大于此值,则配置失败。此外,它还限制了其管理的 qtree 和 LUN 卷的最大大小,以及 `qtreesPerFlexvol`此选项允许自定义每个FlexVol volume的最大 qtree 数量。 |
(默认情况下不强制执行) |
|
每个 Flexvol 卷的最大 LUN 数必须在 [50, 200] 范围内。仅限SAN。 |
“ |
|
故障排除时要使用的调试标志。例如,{"api":false, "method":true} 请勿使用 `debugTraceFlags`除非您正在进行故障排除并且需要详细的日志转储。 |
无效的 |
|
以逗号分隔的 NFS 挂载选项列表。 Kubernetes 持久卷的挂载选项通常在存储类中指定,但如果存储类中没有指定挂载选项, Trident将回退到使用存储后端配置文件中指定的挂载选项。如果在存储类或配置文件中未指定任何挂载选项, Trident将不会在关联的持久卷上设置任何挂载选项。 |
"" |
|
配置 NFS 或 SMB 卷的创建。选项有 |
|
|
每个FlexVol volume的最大 Qtree 数量必须在 [50, 300] 范围内 |
|
|
您可以指定以下名称之一:使用 Microsoft 管理控制台或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 的空间分配 |
|
|
空间预留模式;“无”(细)或“大量”(粗) |
|
|
要使用的快照策略 |
|
|
要为创建的卷分配的 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 支持 `mixed`和 `unix`安全措施。中小企业支持 `mixed`和 `ntfs`安全措施。 |
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 CLI。使用ONTAP CLI 创建 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 卷。有关所有 FSx for ONTAP后端配置选项,请参阅"FSx for ONTAP配置选项和示例"。
参数 描述 示例 smbShare您可以指定以下名称之一:使用 Microsoft 管理控制台或ONTAP CLI 创建的 SMB 共享的名称,或者允许Trident创建 SMB 共享的名称。此参数是Amazon FSx for ONTAP后端所必需的。
smb-sharenasType*必须设置为
smb.*如果为空,则默认为空。nfs。smbsecurityStyle新卷的安全样式。 必须设置为 `ntfs`或者 `mixed`适用于 SMB 卷。
`ntfs`或者 `mixed`适用于 SMB 卷
unixPermissions新卷模式。 对于 SMB 卷,此项必须留空。
""