【问题标题】:example marathon json deployment file when using glusterfs volume driver使用 glusterfs 卷驱动程序时的示例马拉松 json 部署文件
【发布时间】:2016-04-01 16:37:33
【问题描述】:

您好,我真的不知道我的问题是服务器故障还是这里,我希望 devops 不会介意我在这里发帖。

我正在使用 mesos/marathon/docker/glusterfs 处理堆栈,我对文档湖感到厌倦。

我正在寻找使用 glusterfs 驱动程序进行部署的示例 marthon 部署文件。

作者说我们之前应该创建卷,但他没有说要挂载它。

"container": {
 "type": "DOCKER",
 "docker": {
   "image": "kylemanna/openvpn:latest",
   "parameters": [
     {
       "key": "volume-driver",
       "value": "glusterfs"
     },
     {
       "key": "cap-add",
       "value": "NET_ADMIN"
     }
   ],
   "network": "BRIDGE",
   "portMappings": [
     {
       "containerPort": 1194
     } 
   ]
 },
 "volumes": [
   {
     "containerPath": "/etc/openvpn",
     "hostPath": "openvpn-data",
     "mode": "RW"
   }
 ]
}

我的容器在马拉松比赛中不断重启,日志显示/usr/local/bin/ovpn_run: line 16: /etc/openvpn/ovpn_env.sh: No such file or directory

在我的 gluster 文件服务器上,这些文件存在于 /data/openvpn-data/ovpn_env.sh

我在/mnt 中没有看到任何挂载点,我猜是 marathon 自己完成了挂载,但是因为容器不断重启,所以我看不到它。

我做了一个docker inspect 来检查文件系统的存储位置,我发现它存储在/var/lib/docker-volumes/_glusterfs/openvpn-data

所以这是我的问题:

  • 我的马拉松 json 文件是否正确?
  • 容器会等待所有数据下载完成吗?我应该为此配置一些东西吗?
  • 在 marathon 中删除容器时数据会被删除吗?
  • 我应该在/data/myvolume/ovpn_env.sh/data/myvolume/etc/openvpn/ovpn_env.sh 中有我的ovpn_env.sh

【问题讨论】:

    标签: docker mesos devops marathon glusterfs


    【解决方案1】:

    看看下面的问题

    以及位于

    的文档

    引用:

    带有插件驱动程序的 Docker 卷目前不可用。

    您必须在启动容器之前创建卷/挂载,并在通过 Marathon 启动应用程序时映射主机文件夹(您已经这样做了)。我想这就是为什么它目前被称为“持久本地卷”......

    【讨论】:

    • 谢谢@Tobi,我在看这个:innerdot.com/containers/… 和这个:github.com/jmspring/mesos-stateful-example。看着他就好。您的报价来自哪里?
    • 这是问题评论...(第一个链接)
    • @BigDong 您发布的文章使用 Docker 守护程序的附加参数,并通过其他机制实现持久性,然后是persistent-volumes 中概述的持久性卷。使用本文中的机制,我猜应用程序的扩展会变得有趣
    • 我想做的正是文章中的内容
    【解决方案2】:

    在“参数”部分定义它,如下所示:

      "parameters": [
        {
          "key": "volume-driver",
          "value": "glusterfs"
        },
        {
          "key": "volume",
          "value": "openvpn-data:/etc/openvpn"
        }
      ]
    

    【讨论】:

    • @BigDong 请仔细看...您在马拉松 json 的“体积”中定义体积,但是,我在“参数”中定义它。这就是我的解决方案有效的原因。我已经测试过了。
    猜你喜欢
    • 2015-09-04
    • 1970-01-01
    • 2022-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-16
    • 1970-01-01
    相关资源
    最近更新 更多