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

准备工作节点

提供者

Kubernetes 集群中的所有工作节点都需要能够挂载为 Pod 配置的卷。如果您在其中一个后端使用 ontap-nasontap-nas-economyontap-nas-flexgroup 驱动程序,则您的工作节点需要 NFS 工具。否则,它们需要使用 iSCSI 工具。

默认情况下,最新版本的 RedHat CoreOS 同时安装了 NFS 和 iSCSI 。

警告 安装 NFS 或 iSCSI 工具后,您应始终重新启动工作节点,否则将卷连接到容器可能会失败。

节点服务发现

从22.07开始、Astra Trident会尝试自动检测节点是否能够运行iSCSI或NFS服务。Astra Trident会为节点创建事件以标识发现的服务。您可以使用命令查看这些事件:

kubectl get event -A --field-selector involvedObject.name=<Kubernetes node name>

Trident还标识为Trident节点CR上的每个节点启用的服务。要查看发现的服务、请使用命令:

tridentctl get node -o wide -n <Trident namespace>
注 节点服务发现可识别已发现的服务、但无法保证服务已正确配置。相反、如果没有发现的服务、则无法保证卷挂载将失败。

NFS volumes

协议 操作系统 命令

NFS

RHEL/CentOS 7.

sudo yum install -y nfs-utils

NFS

Ubuntu

sudo apt-get install -y nfs-common

注 您应确保 NFS 服务在启动期间启动。

iSCSI 卷

使用 iSCSI 卷时,请考虑以下事项:

  • Kubernetes 集群中的每个节点都必须具有唯一的 IQN 。* 这是必要的前提条件 * 。

  • 如果使用RHCOS 4.5或更高版本或其他与RHEL兼容的Linux版本以及`solidfire-san`驱动程序、请确保在`/etc/iscsi/iscsid.conf`中将CHAP身份验证算法设置为MD5。

    sudo sed -i 's/^\(node.session.auth.chap_algs\).*/\1 = MD5/' /etc/iscsi/iscsid.conf
  • 使用运行 RHEL/RedHat CoreOS 和 iSCSI PV 的工作节点时,请确保在 StorageClass 中指定 discard mountOption 以执行实时空间回收。请参见 "RedHat 的文档"

协议 操作系统 命令

iSCSI

RHEL/CentOS

  1. 安装以下系统软件包:

    sudo yum install -y lsscsi iscsi-initiator-utils sg3_utils device-mapper-multipath

  2. 检查 iscsi-initiator-utils 版本是否为 6.2.0.877-2.el7 或更高版本:

    rpm -q iscsi-initiator-utils

  3. 将扫描设置为手动:

    sUdo sed -i 's/^ \ ( node.session.scan\).*/\1 = manual/' /etc/iscsi/iscsid.conf

  4. 启用多路径:

    sudo mpathconf -enable -for_multipathd y -find_multipaths n

    注 确保 detc/multipath.conf contains find_multipaths no under` efaults `.
  5. 确保 iscsidmultipathd 正在运行:

    sudo systemctl enable -now iscsid multipathd

  6. 启用并启动 iSCSI

    sudo systemctl enable —现在为 iSCSI

iSCSI

Ubuntu

  1. 安装以下系统软件包:

    sUdo apt-get install -y open-iscsi lsscsi sg3-utils multipath-tools scsitool

  2. 检查 open-iscsi 版本是否为 2.0.877-5ubuntu2.10 或更高版本(对于双子系统)或 2.0.877-7.1ubuntu6.1 或更高版本(对于 Focal ):

    dpkg -l open-iscsi

  3. 将扫描设置为手动:

    sUdo sed -i 's/^ \ ( node.session.scan\).*/\1 = manual/' /etc/iscsi/iscsid.conf

  4. 启用多路径:

    sUdo tee /etc/multipath.conf <←'EOF' defaults { user_friendly_names yes find_multipaths no } eOF sudo systemctl enable -now multipath-tools.service sudo service multipath-tools restart

    注 确保 detc/multipath.conf contains find_multipaths no under` efaults `.
  5. 确保已启用并运行 open-iscsimultipath-tools

    sudo systemctl status multipath-tools sudo systemctl enable -now open-iscsi.service sudo systemctl status open-iscsi

注 对于 Ubuntu 18.04 ,您必须先使用 iscsiadm 发现目标端口,然后再启动 open-iscsi , iSCSI 守护进程才能启动。您也可以将 iscsi 服务修改为自动启动 iscsid