简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

配置 NetApp HCI 或 SolidFire 后端

贡献者

了解如何在 Astra Trident 安装中创建和使用 Element 后端。

您需要的内容
  • 运行 Element 软件的受支持存储系统。

  • NetApp HCI/SolidFire 集群管理员或租户用户的凭据,可用于管理卷。

  • 所有 Kubernetes 工作节点都应安装适当的 iSCSI 工具。请参见 "工作节点准备信息"

您需要了解的信息

solidfire-san 存储驱动程序支持两种卷模式:文件和块。。 Filesystem volumemode、Astra Trident会创建卷并创建文件系统。文件系统类型由 StorageClass 指定。

驱动程序 协议 卷模式 支持的访问模式 支持的文件系统

solidfire-san

iSCSI

rwo , rox , rwx

无文件系统。原始块设备。

solidfire-san

iSCSI

rwo , rox , rwx

无文件系统。原始块设备。

solidfire-san

iSCSI

文件系统

工单, ROX

xfsext3ext4

solidfire-san

iSCSI

文件系统

工单, ROX

xfsext3ext4

备注 Astra Trident 在用作增强型 CSI 配置程序时使用 CHAP 。如果您使用的是 CHAP (这是 CSI 的默认设置),则无需进行进一步准备。建议显式设置 UseCHAP 可选择对非CSI Trident使用CHAP。否则,请参见 "此处"
警告 只有适用于 Astra Trident 的传统非 CSI 框架才支持卷访问组。如果配置为在 CSI 模式下运行,则 Astra Trident 将使用 CHAP 。

如果两者都不是 AccessGroupsUseCHAP 设置后、将应用以下规则之一:

  • 如果为默认值 trident 检测到访问组、使用访问组。

  • 如果未检测到访问组,并且 Kubernetes 版本为 1.7 或更高版本,则会使用 CHAP 。

后端配置选项

有关后端配置选项,请参见下表:

参数 Description Default

version

始终为 1

storageDriverName

存储驱动程序的名称

始终为 "solidfire-san"

backendName

自定义名称或存储后端

SolidFire + 存储( iSCSI ) IP 地址

Endpoint

使用租户凭据的 SolidFire 集群的 MVIP

SVIP

存储( iSCSI ) IP 地址和端口

labels

要应用于卷的一组任意 JSON 格式的标签。

"

TenantName

要使用的租户名称(如果未找到,则创建)

InitiatorIFace

将 iSCSI 流量限制为特定主机接口

default

UseCHAP

使用 CHAP 对 iSCSI 进行身份验证

true

AccessGroups

要使用的访问组 ID 列表

查找名为 "trident " 的访问组的 ID

Types

QoS 规范

limitVolumeSize

如果请求的卷大小超过此值,则配置失败

" (默认情况下不强制实施)

debugTraceFlags

故障排除时要使用的调试标志。示例 { "api" : false , "method " : true }

警告 请勿使用 debugTraceFlags 除非您正在进行故障排除并需要详细的日志转储。
备注 对于创建的所有卷, Astra Trident 会在配置存储池时将存储池上的所有标签复制到备用存储 LUN 。存储管理员可以为每个存储池定义标签,并对存储池中创建的所有卷进行分组。这样,您就可以根据后端配置中提供的一组可自定义标签来方便地区分卷了。

示例1:的后端配置 solidfire-san 具有三种卷类型的驱动程序

此示例显示了一个后端文件,该文件使用 CHAP 身份验证并使用特定 QoS 保证对三种卷类型进行建模。然后、您很可能会使用定义存储类来使用其中的每一种 IOPS storage class参数。

{
    "version": 1,
    "storageDriverName": "solidfire-san",
    "Endpoint": "https://<user>:<password>@<mvip>/json-rpc/8.0",
    "SVIP": "<svip>:3260",
    "TenantName": "<tenant>",
    "labels": {"k8scluster": "dev1", "backend": "dev1-element-cluster"},
    "UseCHAP": true,
    "Types": [{"Type": "Bronze", "Qos": {"minIOPS": 1000, "maxIOPS": 2000, "burstIOPS": 4000}},
              {"Type": "Silver", "Qos": {"minIOPS": 4000, "maxIOPS": 6000, "burstIOPS": 8000}},
              {"Type": "Gold", "Qos": {"minIOPS": 6000, "maxIOPS": 8000, "burstIOPS": 10000}}]
}

示例2:的后端和存储类配置 solidfire-san 具有虚拟存储池的驱动程序

此示例显示了使用虚拟存储池配置的后端定义文件以及引用这些池的 StorageClasses 。

在下面所示的示例后端定义文件中、为所有存储池设置了特定的默认值、这些存储池设置了 type 在Silver。虚拟存储池在中进行定义 storage 部分。在此示例中,某些存储池设置了自己的类型,而某些池将覆盖上述默认值。

{
    "version": 1,
    "storageDriverName": "solidfire-san",
    "Endpoint": "https://<user>:<password>@<mvip>/json-rpc/8.0",
    "SVIP": "<svip>:3260",
    "TenantName": "<tenant>",
    "UseCHAP": true,
    "Types": [{"Type": "Bronze", "Qos": {"minIOPS": 1000, "maxIOPS": 2000, "burstIOPS": 4000}},
              {"Type": "Silver", "Qos": {"minIOPS": 4000, "maxIOPS": 6000, "burstIOPS": 8000}},
              {"Type": "Gold", "Qos": {"minIOPS": 6000, "maxIOPS": 8000, "burstIOPS": 10000}}],

    "type": "Silver",
    "labels":{"store":"solidfire", "k8scluster": "dev-1-cluster"},
    "region": "us-east-1",

    "storage": [
        {
            "labels":{"performance":"gold", "cost":"4"},
            "zone":"us-east-1a",
            "type":"Gold"
        },
        {
            "labels":{"performance":"silver", "cost":"3"},
            "zone":"us-east-1b",
            "type":"Silver"
        },
        {
            "labels":{"performance":"bronze", "cost":"2"},
            "zone":"us-east-1c",
            "type":"Bronze"
        },
        {
            "labels":{"performance":"silver", "cost":"1"},
            "zone":"us-east-1d"
        }
    ]
}

以下 StorageClass 定义引用了上述虚拟存储池。使用 parameters.selector 字段中、每个StorageClass都会调用可用于托管卷的虚拟池。卷将在选定虚拟池中定义各个方面。

第一个StorageClass (solidfire-gold-four)将映射到第一个虚拟存储池。这是唯一一个可通过提供金牌性能的池 Volume Type QoS 金牌。最后一个StorageClass (solidfire-silver)调用提供银牌性能的任何存储池。Astra Trident 将决定选择哪个虚拟存储池,并确保满足存储要求。

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: solidfire-gold-four
provisioner: csi.trident.netapp.io
parameters:
  selector: "performance=gold; cost=4"
  fsType: "ext4"
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: solidfire-silver-three
provisioner: csi.trident.netapp.io
parameters:
  selector: "performance=silver; cost=3"
  fsType: "ext4"
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: solidfire-bronze-two
provisioner: csi.trident.netapp.io
parameters:
  selector: "performance=bronze; cost=2"
  fsType: "ext4"
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: solidfire-silver-one
provisioner: csi.trident.netapp.io
parameters:
  selector: "performance=silver; cost=1"
  fsType: "ext4"
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: solidfire-silver
provisioner: csi.trident.netapp.io
parameters:
  selector: "performance=silver"
  fsType: "ext4"

了解更多信息