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

部署 Trident

Trident for Docker 为 NetApp 存储平台提供了与 Docker 生态系统的直接集成。它支持从存储平台到 Docker 主机的存储资源调配和管理,并具有将来添加其他平台的框架。

Trident 可以在同一主机上并发运行多个实例。这允许同时连接到多个存储系统和存储类型,并可以自定义用于 Docker 卷的存储。

您需要什么

请参见"部署的先决条件"。确保满足先决条件后,即可部署 Trident。

Docker 托管插件方法(版本 1.13/17.03 及更高版本)

备注
开始之前
如果您在传统的守护进程方法中使用了 Docker 1.13/17.03 之前的 Trident,请确保在使用托管插件方法之前停止 Trident 进程并重新启动 Docker 守护进程。
  1. 停止所有运行的实例:

    pkill /usr/local/bin/netappdvp
    pkill /usr/local/bin/trident
  2. 重新启动 Docker。

    systemctl restart docker
  3. 确保已安装 Docker Engine 17.03(新 1.13)或更高版本。

    docker --version

    如果您的版本已过期, "安装或更新您的安装"

步骤
  1. 创建配置文件并指定选项,如下所示:

    • config:默认文件名为 config.json,但是您可以通过指定 config 选项和文件名来使用您选择的任何名称。配置文件必须位于主机系统上的 /etc/netappdvp 目录中。

    • log-level:指定日志级别(debuginfowarnerrorfatal)。默认值为 info

    • debug:指定是否启用调试日志记录。默认值为 false。如果为 true,则覆盖日志级别。

      1. 创建配置文件的位置:

        sudo mkdir -p /etc/netappdvp
      2. 创建配置文件:

        cat << EOF > /etc/netappdvp/config.json
        {
          "version": 1,
          "storageDriverName": "ontap-nas",
          "managementLIF": "10.0.0.1",
          "dataLIF": "10.0.0.2",
          "svm": "svm_nfs",
          "username": "vsadmin",
          "password": "password",
          "aggregate": "aggr1"
        }
        EOF
  2. 使用托管插件系统启动 Trident。将 <version> 替换为您正在使用的插件版本 (xxx.xx.x)。

    docker plugin install --grant-all-permissions --alias netapp netapp/trident-plugin:<version> config=myConfigFile.json
  3. 开始使用 Trident 从已配置的系统中使用存储。

    1. 创建名为"firstVolume"的卷:

      docker volume create -d netapp --name firstVolume
    2. 在容器启动时创建默认卷:

      docker run --rm -it --volume-driver netapp --volume secondVolume:/my_vol alpine ash
    3. 删除卷 "firstVolume":

      docker volume rm firstVolume

传统方法(1.12 版或更早版本)

开始之前
  1. 确保您拥有 Docker 1.10 或更高版本。

    docker --version

    如果您的版本已过期,请更新您的安装。

    curl -fsSL https://get.docker.com/ | sh
  2. 请确保为您的系统配置 NFS 和/或 iSCSI。

步骤
  1. 安装并配置 NetApp Docker Volume 插件:

    1. 下载并解压缩应用程序:

      wget https://github.com/NetApp/trident/releases/download/10.0/trident-installer-25.10.0.tar.gz
      tar zxf trident-installer-25.10.0.tar.gz
    2. 移动到 bin 路径中的位置:

      sudo mv trident-installer/extras/bin/trident /usr/local/bin/
      sudo chown root:root /usr/local/bin/trident
      sudo chmod 755 /usr/local/bin/trident
    3. 创建配置文件的位置:

      sudo mkdir -p /etc/netappdvp
    4. 创建配置文件:

      cat << EOF > /etc/netappdvp/ontap-nas.json
      {
        "version": 1,
        "storageDriverName": "ontap-nas",
        "managementLIF": "10.0.0.1",
        "dataLIF": "10.0.0.2",
        "svm": "svm_nfs",
        "username": "vsadmin",
        "password": "password",
        "aggregate": "aggr1"
      }
      EOF
  2. 放置二进制文件并创建配置文件后,使用所需的配置文件启动 Trident 守护程序。

    sudo trident --config=/etc/netappdvp/ontap-nas.json
    备注 除非指定,否则卷驱动程序的默认名称为 "netapp"。

    守护进程启动后,您可以使用 Docker CLI 界面创建和管理卷。

  3. 创建卷:

    docker volume create -d netapp --name trident_1
  4. 启动容器时预配 Docker 卷:

    docker run --rm -it --volume-driver netapp --volume trident_2:/my_vol alpine ash
  5. 删除 Docker 卷:

    docker volume rm trident_1
    docker volume rm trident_2

在系统启动时启动 Trident

可以在 Git 存储库中的 `contrib/trident.service.example`找到基于 systemd 的系统的示例单元文件。要将文件与 RHEL 一起使用,请执行以下操作:

  1. 将文件复制到正确的位置。

    如果有多个实例正在运行,则应为单元文件使用唯一的名称。

    cp contrib/trident.service.example /usr/lib/systemd/system/trident.service
  2. 编辑文件,更改描述(第 2 行)以匹配驱动程序名称和配置文件路径(第 9 行)以反映您的环境。

  3. 重新加载 systemd 以使其获取更改:

    systemctl daemon-reload
  4. 启用服务。

    此名称因您在 /usr/lib/systemd/system 目录中为文件命名的名称而异。

    systemctl enable trident
  5. 启动服务。

    systemctl start trident
  6. 查看状态。

    systemctl status trident
备注 每当您修改单元文件时,请运行 systemctl daemon-reload 命令以了解更改。