在 RancherOS 中挂载多个 NFS 共享

在 RancherOS 中挂载多个 NFS 共享

我正在 FreeNAS 服务器上设置 RancherOS VM,但在设置 NFS 共享时遇到了问题。我有一个 .yml 文件,可以设置一个共享挂载,但我希望能够设置两个单独的共享。在下面的配置 .yml 文件中,我尝试在卷下为 nfs-2 添加第二行,然后在环境 (Share2) 下添加我想要共享的第二个位置。这导致创建了 nfs-2 共享,但无法在 ssh 之外访问,所以基本上我可以使用 ssh 查看和添加/删除目录,但我不知道目录的实际位置,也无法使用 SMB 访问它。然后,nfs-1 共享挂载将访问环境中最后一行的共享卷。如果 nfs-1 共享中有目录,则可以在 ssh 中查看它们,并且我可以创建和删除新目录。

rancher:
  services:
    nfs:
      image: xxxxxxx/rancher-nfs-client
      labels:
        io.rancher.os.after: console, preload-user-images
        io.rancher.os.scope: system
      net: host
      privileged: true
      restart: always
      volumes:
      - /usr/bin/iptables:/sbin/iptables:ro
      - /mnt/nfs-1:/mnt/nfs-1:shared
      - /mnt/nfs-2:/mnt/nfs-2:shared
      environment:
        SERVER: 192.168.1.xxx
        SHARE: /mnt/mntVolume/rancher
        SHARE: /mnt/mntVolume/Share2

我还尝试在第二次共享之前第二次添加 SERVER 行,但这没有任何改变。

基本上,我想知道是否有办法编辑卷和环境部分,以便能够在 Rancher 存储池中为 Docker 容器和配置文件创建一个 NFS 共享,并在 Share2 中创建另一个 NFS 共享,它是现有文件共享目录的存储池。

答案1

我刚刚在 FreeNAS 上设置了 RancherOS,需要安装多个共享。以下是我所做的有效操作。我创建了/var/lib/rancher/conf/cloud-config.d/multimount-cloud-config.yml以下内容:

#cloud-config
write_files:
  - path: /etc/rc.local
    permissions: "0755"
    owner: root
    content: |
      #!/bin/bash
      mkdir -p /mnt/dockershare
      mkdir -p /mnt/plex
      cloud-init-execute
rancher:
  services:
    nfs:
      image: d3fk/nfs-client
      labels:
        io.rancher.os.after: console, preload-user-images
        io.rancher.os.scope: system
      net: host
      privileged: true
      tty: true
      restart: always
      volumes:
        - /usr/bin/iptables:/sbin/iptables:ro
mounts:
- ["10.9.8.7:/mnt/big-tank/dockershare", "/mnt/dockershare", "nfs", ""]
- ["10.9.8.7:/mnt/big-tank/plexmedia", "/mnt/plex", "nfs", ""]

相关内容