我正在使用CoreOS上的Mesos和Ceph集群,并使用工作的Ceph RBD Docker卷插件,但我不太清楚如何将其与Mesos/Marathon一起使用...为单个Docker容器创建/使用
在这种情况下,
rbd
卷运行良好。
我找不到任何涉及通过Marathon自动创建(在Mesos从节点之间进行“任务迁移”时进行重新映射)这些卷的文章/博客帖子/等等。对我来说特别重要的是如何在每个实例需要拥有自己的卷时运行多个具有状态服务的实例(想象一下在Mesos/Marathon上的MongoDB ReplicaSet)。
我知道Mesos持久化卷文档,也看到了Marathon问题,但仍然很困惑如何或何时可用...
这里还有其他问题:
不幸的是,它们并没有真正回答这个特定问题。
EMC Code 的例子也仅仅涵盖了单个实例的示例,而我可以轻松处理上述提到的卷插件:
{
"id": "nginx",
"container": {
"docker": {
"image": "million12/nginx",
"network": "BRIDGE",
"portMappings": [{
"containerPort": 80,
"hostPort": 0,
"protocol": "tcp"
}],
"parameters": [{
"key": "volume-driver",
"value": "rbd"
}, {
"key": "volume",
"value": "nginx-data:/data/www"
}]
}
},
"cpus": 0.2,
"mem": 32.0,
"instances": 1
}
在这种情况下,
nginx-data
卷将自动创建。但是,如果我想使用持久卷和多个实例呢?
flockerctl scale mongodb=5
,然后 Flocker 将为 MultiVolumemongodb
分配 5 个可用卷,每次使用此卷名称启动容器时,它会给您返回一个未被另一个容器使用的卷。这对于您的用例是否可行,@Tobi? - Luke Marsden