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

准备工作节点

贡献者

Kubernetes集群中的所有工作节点都必须能够挂载为Pod配置的卷。要准备工作节点、必须根据您选择的驱动程序安装NFS或iSCSI工具。

选择合适的工具

如果要组合使用驱动程序、则应安装NFS和iSCSI工具。

NFS工具

如果您使用的是以下命令、请安装NFS工具: ontap-nasontap-nas-economyontap-nas-flexgroupazure-netapp-filesgcp-cvs

iSCSI工具

如果您使用的是以下命令、请安装iSCSI工具: ontap-sanontap-san-economysolidfire-san

备注 默认情况下、最新版本的RedHat CoreOS会安装NFS和iSCSI。

节点服务发现

Astra Trident会尝试自动检测节点是否可以运行iSCSI或NFS服务。

备注 节点服务发现可识别已发现的服务、但无法保证服务已正确配置。相反、如果没有发现的服务、则无法保证卷挂载将失败。
查看事件

Astra Trident会为节点创建事件以标识发现的服务。要查看这些事件、请运行:

kubectl get event -A --field-selector involvedObject.name=<Kubernetes node name>
查看发现的服务

Astra Trident标识为Trident节点CR上的每个节点启用的服务。要查看发现的服务、请运行:

tridentctl get node -o wide -n <Trident namespace>

NFS卷

使用适用于您的操作系统的命令安装NFS工具。确保NFS服务已在启动期间启动。

RHEL 8+
sudo yum install -y nfs-utils
Ubuntu
sudo apt-get install -y nfs-common
警告 安装NFS工具后重新启动工作节点、以防止在将卷连接到容器时失败。

iSCSI 卷

Astra Trident可以自动建立iSCSI会话、扫描LUN、发现多路径设备、对其进行格式化并将其挂载到Pod。

iSCSI自我修复功能

对于ONTAP 系统、Astra Trident每五分钟运行一次iSCSI自我修复、以便:

  1. *确定*所需的iSCSI会话状态和当前的iSCSI会话状态。

  2. 将所需状态与当前状态进行比较、以确定所需的修复。Astra Trident可确定修复优先级以及提前修复的时间。

  3. 需要执行*修复*才能将当前iSCSI会话状态恢复为所需的iSCSI会话状态。

备注 自我修复活动日志位于中 trident-main 相应的Demonset Pod上的容器。要查看日志、必须已设置 debug 在Astra Trident安装期间设置为"true"。

Astra Trident iSCSI自我修复功能有助于防止:

  • 在网络连接问题描述 之后可能发生的陈旧或运行不正常的iSCSI会话。如果会话已过时、则Astra Trident会等待七分钟、然后再注销以重新建立与门户的连接。

    备注 例如、如果在存储控制器上轮换了CHAP密钥、而网络断开了连接、则旧的(stal) CHAP密钥可能会持续存在。自修复功能可以识别此问题、并自动重新建立会话以应用更新后的CHAP密码。
  • 缺少iSCSI会话

  • 缺少LUN

安装iSCSI工具

使用适用于您的操作系统的命令安装iSCSI工具。

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

  • 如果使用RHCOS 4.5或更高版本或其他与RHEL兼容的Linux分发版、请与结合使用 solidfire-san 驱动程序和Element OS 12:5或更早版本、请确保中的CHAP身份验证算法设置为MD5 /etc/iscsi/iscsid.conf。Element 12.7提供了符合FIPS的安全CHAP算法SHA1、SHA-256和SHA3-256。

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

RHEL 8+
  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
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 自动。
警告 安装iSCSI工具后重新启动工作节点、以防止在将卷连接到容器时失败。