Skip to main content
本产品推出了新版本。
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

准备工作节点

贡献者

Kubernetes 集群中的所有工作节点都需要能够挂载为 Pod 配置的卷。如果您使用的是 ontap-nasontap-nas-economy`或 `ontap-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 驱动程序中、请确保在中将CHAP身份验证算法设置为MD5 /etc/iscsi/iscsid.conf

    sudo sed -i 's/^\(node.session.auth.chap_algs\).*/\1 = MD5/' /etc/iscsi/iscsid.conf
  • 在使用运行RHEL/RedHat CoreOS和iSCSI PV的工作节点时、请务必指定 discard StorageClass中的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 --with_multipathd y --find_multipaths n

    备注 确保 etc/multipath.conf 包含 find_multipaths nodefaults
  5. 请确保 iscsidmultipathd 正在运行:

    sudo systemctl enable --now iscsid multipathd

  6. 启用并启动 iscsi

    sudo systemctl enable --now iscsi

iSCSI

Ubuntu

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

    sudo apt-get install -y open-iscsi lsscsi sg3-utils multipath-tools scsitools

  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

    备注 确保 etc/multipath.conf 包含 find_multipaths nodefaults
  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 自动。