使用 Rancher+NFS

Working with Rancher+NFS

我正在尝试使用 NFS(共享存储)在 Rancher 服务器中设置 Jenkins 我运行遇到了很多问题,终于解决了。 Thought 会分享步骤,让其他人受益。

1) 在开始之前,请确保您在 Rancher 环境中设置了主机。

2) 接下来在 link 上执行以下步骤:Rancher-Nfs Prerequiiste

3) 点击 Rancher 服务器中的 Catalog 菜单并搜索 nfs

点击查看详细信息按钮。

4) 您将看到如下所示的屏幕。输入屏幕截图中显示的详细信息。 HostIP 将是您的 NFS 服务器。

注意:导出基目录应与您在步骤 2 中创建的目录相同。 单击启动按钮。

5) 导航到“基础结构”选项卡以仔细检查存储驱动程序是否处于活动状态。

6) 现在进入 Stack 菜单并创建一个堆栈。

我将创建一个 Jenkins 堆栈。
docker-compose.yml

version: '2'
volumes:
  jenkins-var-jenkins:
    driver: rancher-nfs
  jenkins-etc-ssl-certs:
    driver: rancher-nfs
services:
  Jenkins:
    image: jenkins:2.60.2
    stdin_open: true
    volumes:
    - jenkins-var-jenkins:/var/jenkins_home
    - jenkins-etc-ssl-certs:/etc/ssl/certs
    tty: true
  Jenkins-LB:
    image: rancher/lb-service-haproxy:v0.7.5
    ports:
    - 8080:8080/tcp
    labels:
      io.rancher.container.agent.role: environmentAdmin
      io.rancher.container.create_agent: 'true'

运行cher-compose.yml

version: '2'
services:
  Jenkins:
    scale: 2
    start_on_create: true
  Jenkins-LB:
    scale: 1
    start_on_create: true
    lb_config:
      certs: []
      port_rules:
      - path: ''
        priority: 1
        protocol: http
        service: Jenkins
        source_port: 8080
        target_port: 8080

7) 您可能会看到如下屏幕截图所示的错误。

8) 转到您的主机并编辑 /etc/exports 并将 "no_root_squash" 添加到挂载选项。
看起来像
/nfs *(rw,sync,no_subtree_check,no_root_squash)

9) 使用命令重新启动 nfs 服务器。
systemctl restart nfs-server(因 linux 版本而异)

10) 按照步骤 6

删除并重新创建堆栈

11) 现在将创建并可访问带有负载均衡器的 jenkins 堆栈。

注意:您可以查看我的 github 代码库。 Jenkins-Rancher-Catalog

完整的解决方案在上面的文章中有说明。