将Trident与Amazon FSx for NetApp ONTAP结合使用
"适用于 NetApp ONTAP 的 Amazon FSX" 是一项完全托管的 AWS 服务,运行由 NetApp ONTAP 存储操作系统支持的文件系统。它提供 ONTAP 功能、性能和管理,具有 AWS 的可扩展性和操作简便性。文件系统是 Amazon FSx 中的主要资源,类似于本地 ONTAP 集群。每个文件系统包含一个或多个存储虚拟机 (SVM),每个 SVM 包含一个或多个存储文件和目录的卷。这种集成使在 Amazon Elastic Kubernetes Service (EKS) 中运行的 Kubernetes 集群能够为块和文件工作负载配置 ONTAP 支持的持久卷。
要求
除了"Trident要求",要将FSx for ONTAP与Trident集成,您还需要:
-
已安装
kubectl的现有 Amazon EKS 集群或自管理 Kubernetes 集群。 -
可从集群的工作节点访问的现有Amazon FSx for NetApp ONTAP文件系统和Storage Virtual Machine (SVM)。
-
为准备工作的工作节点 "NFS或iSCSI"。
确保按照Amazon Linux和Ubuntu所需的节点准备步骤进行操作 "Amazon Machine 映像" ( AMIS ),具体取决于您的 EKS AMI 类型。
注意事项
-
SMB卷:
-
SMB卷支持使用
ontap-nas仅限驱动程序。 -
Trident EKS加载项不支持SMB卷。
-
Trident仅支持挂载到Windows节点上运行的Pod的SMB卷。有关详细信息、请参见 "准备配置SMB卷" 。
-
-
在Trident 24.02之前的版本中、Trident无法删除在已启用自动备份的Amazon FSx文件系统上创建的卷。要在Trident 24.02或更高版本中防止此问题,请在AWS FSx for ONTAP的后端配置文件中指定
fsxFilesystemID、AWS、apikey`AWS `apiRegion`和AWS `secretKey。如果要为Trident指定IAM角色,则可以省略为Trident明确指定 apiRegion、 `apiKey`和 `secretKey`字段。有关详细信息,请参阅 "适用于ONTAP 的FSX配置选项和示例"。
同时使用Trident SAN/iSCSI 和 EBS-CSI 驱动程序
如果您计划将 ontap-san 驱动程序(例如 iSCSI)与 AWS(EKS、ROSA、EC2 或任何其他实例)一起使用,则节点上所需的多路径配置可能会与 Amazon Elastic Block Store (EBS) CSI 驱动程序冲突。为了确保多路径功能不会干扰同一节点上的 EBS 磁盘,您需要在多路径设置中排除 EBS。这个例子展示了 `multipath.conf`包含所需Trident设置的文件,同时将 EBS 磁盘排除在多路径之外:
defaults {
find_multipaths no
}
blacklist {
device {
vendor "NVME"
product "Amazon Elastic Block Store"
}
}
身份验证
Trident提供两种身份验证模式。
-
基于凭据(建议):将凭据安全地存储在AWS机密管理器中。您可以使用文件系统的用户、也可以使用
fsxadminvsadmin为SVM配置的用户。Trident应以SVM用户身份运行、或者以具有相同角色的其他名称的用户身份运行 vsadmin。Amazon FSx for NetApp ONTAP的某个fsxadmin`用户只能有限地替代ONTAP `admin`集群用户。强烈建议将与Trident结合使用 `vsadmin。 -
基于证书:Trident将使用SVM上安装的证书与FSx文件系统上的SVM进行通信。
有关启用身份验证的详细信息、请参阅适用于您的驱动程序类型的身份验证:
测试过的Amazon计算机映像(AMI)
EKS集群支持各种操作系统、但AWS已针对容器和EKS优化了某些Amazon计算机映像(AMI)。以下 AMI 已通过 NetApp Trident 25.02 测试。
AMI |
NAS |
NAS经济型 |
iSCSI |
iSCSI经济型 |
AL2023_x86_64_STANDARD |
是的。 |
是的。 |
是的。 |
是的。 |
AL2_x86_64 |
是的。 |
是的。 |
是 * |
是 * |
BOTTLEROCKET_x86_64 |
是** |
是的。 |
不适用 |
不适用 |
AL2023_ARM_64_STANDARD |
是的。 |
是的。 |
是的。 |
是的。 |
AL2_ARM_64 |
是的。 |
是的。 |
是 * |
是 * |
BOTTLEROCKET_ARM_64 |
是** |
是的。 |
不适用 |
不适用 |
-
* 如果不重启节点,则无法删除 PV
-
** 不适用于Trident版本 25.02 的 NFSv3。
|
|
如果此处未列出您所需的AMI、并不表示它不受支持、而只是表示它尚未经过测试。此列表可作为已知可运行的 AMI 的指南。 |
使用以下项执行的测试:
-
EKS版本:1.32
-
安装方法:Helm 25.06 和 AWS 附加组件 25.06
-
对于NAS、我们同时测试了NFSv3和NFSv4.1。
-
对于SAN、测试的是仅iSCSI、而不是NVMe-oF。
执行的测试:
-
创建:存储类、PVC、POD
-
删除:POD、PVC (常规、qtree/LUN—经济型、NAS与AWS备份)