在大多数教程,演示文稿和演示中,只提供通过DNS(SkyDNS,skydock等)或通过反向代理(例如HAproxy或Vulcand,使用etcd或ZooKeeper配置)进行负载平衡的无状态服务.
是否有使用以下方法部署MariaDB和Redis集群的最佳实践:
CoreOS +车队+ Docker; 要么
Mesos + Marathon + Docker
任何其他集群管理解决方案
当运行Master的主机可能发生变化时,如何配置Redis群集和MariaDB群集(Galera)?
https://github.com/sheldonh/coreos-vagrant/tree/master/redis
http://www.severalnines.com/blog/how-deploy-galera-cluster-mysql-using-docker-containers
我一直在研究Mesos,Marathon和Chronos组合来托管大量网站.在我的脑海中,我应该可以在我的笔记本电脑中键入一些命令,并等待大约30分钟来构建和部署.
我唯一的问题是,我的资源分散在多个数据中心,众多云帐户和大约6个内部场所.我没有理由不能通过我的笔记本电脑控制它们 - (当涉及到我的硬件时,我有严重的电源和控制问题!)
我认为我最好的方法是在云中建立大脑,(动物园饲养员和至少一个主人),然后添加单独的数据中心,但我还没有看到任何分布式集群的例子,其中并非所有节点都可以相互通信.
任何人都可以推荐一种方法吗?
我有一些mesos-slave节点,我想暴露给互联网.因此,我希望mesos-slave提供端口80和443以及其默认的大量端口/资源.
根据我的收集,我需要调整--resources
参数,并在端口资源产品中包含80和443.但是,从我的测试来看,在执行此操作时,我还必须对机器的CPU /内存/磁盘产品进行硬编码(而不是允许mesos-slave在运行时确定这些).
因为我想运行的节点的大小mesos-slave
将来可能会改变,所以我想避免硬编码CPU/Mem/Disk产品并让它们在运行时确定.如何在--resource
不对CPU /内存/磁盘产品进行硬编码的情况下更改mesos-slave的端口产品?理想情况下,这样的系统是附加的:" 除默认端口外还提供端口80/443 ".
最好!
Advait
我正在尝试使用对Mesos的持久卷支持,并且很难让它工作.
我已按如下方式配置了每个从属服务器,并确认已成功使用此新配置重新启动:
的/ etc/mesos-从/资源
[ ?
{
"name" : "disk",
"type" : "SCALAR",
"scalar" : { "value" : 4194304 },
"disk" : {
"source" : {
"type" : "PATH",
"path" : { "root" : "/mnt/disk1" }
}
}
},
{
"name" : "disk",
"type" : "SCALAR",
"scalar" : { "value" : 4194304 },
"disk" : {
"source" : {
"type" : "PATH",
"path" : { "root" : "/mnt/disk2" }
}
}
},
{
"name" : "disk",
"type" : "SCALAR",
"scalar" …
Run Code Online (Sandbox Code Playgroud) 在探索马拉松REST API时,我遇到了以下API调用给出的信息(JSON输出)中定义的两个端口号(端口和服务端口)
curl http://x.y.z.w:8080/v2/tasks | python -m json.tool | less
- 示例输出如下:
{
"tasks":[
{
"appId":"/test",
"host":"172.20.75.145",
"id":"test.1fc922a9-f4c8-11e5-8bff-005056a76a7f",
"ipAddresses":[
],
"ports":[
31313
],
"servicePorts":[
10000
],
"slaveId":"2130f59b-7289-40eb-b24d-72f0c6fe94c8-S1",
"stagedAt":"2016-03-28T09:33:26.859Z",
"startedAt":"2016-03-28T09:33:26.936Z",
"version":"2016-03-28T09:33:26.800Z"
}
]
}
Run Code Online (Sandbox Code Playgroud)
有没有人知道端口和servicePorts之间的区别?还请添加更多信息.
我一直在使用docker来运行图像以及一些选项,例如:
docker run --net host --oom-kill-disable -d -p <port>:<port> image
Run Code Online (Sandbox Code Playgroud)
如何在马拉松中设置--oom-kill-disable之类的值?
据我所知,DC/OS有两种不同类型的令牌:
身份验证令牌:通过https:// public-master-ip/login?redirect_uri = urn:ietf:wg:oauth:2.0:oob登录检索 .此令牌用于检索api令牌.
api令牌:通过使用请求正文中的身份验证令牌的https:// public-master-ip/acs/api/v1/auth/login的后置调用来检索.此令牌用于授权针对api的调用.这样的令牌在5天后到期.
我的问题是
我正在尝试使用Mesos + Marathon,并通过创建一个由shell脚本组成的小"app"开始简单,该脚本循环每5秒无限地记录一次消息.当我配置该应用程序时,我可以分配各种内存和CPU资源,这引出了我的问题:
如果Marathon直接生成shell脚本,那么它如何限制脚本资源的使用?该脚本可以执行并启动任何内容以消耗所有可用资源.
我知道Docker或其他一些隔离机制会限制进程可以做什么,但我没有配置它(显式).它是否在运行中创建某种容器而不必显式配置?我在OS X上测试.
请不要在我检查的任何地方询问.这就是我所做的.我能够部署单个mesos,marathon和docker实例.向前迈出下一步我希望有2个mesos slave(docker containers)相互链接.只需使用docker,就可以使用docker链接功能实现相同功能.但是在使用业务流程(mesos)和调度程序(marathon)时,您似乎需要使用服务发现.
我的设置很简单,可以在一台主机上运行.所以我将有2个docker容器,一个运行一个简单的pub/sub和一个运行rabbitmq.如何在此设置中使用HA PRoxy.我看过mesosphere http://mesosphere.com/docs/getting-started/service-discovery/提供的一些文件, 但目前尚不清楚如何去做.
我有一个运行postgresql db的docker容器,但被我的意外删除了Apache Mesos Marathon
。
有什么办法可以恢复容器,或者至少可以获取数据库文件?
谢谢