测试部署html
1) mesos-master 10.57.137.131 git
2) mesos-slave 10.57.137.131 github
3) marathon 10.57.137.131 json
如今须要在这个marathon上部署mesos-dns.centos
具体参考连接:app
https://mesosphere.github.io/mesos-dns/docs/configuration-parameters.htmldom
https://open.mesosphere.com/advanced-course/building-and-running-mesos-dns/curl
这个连接比较全面,测试
下载mesos-dns二进制包.ui
config的默认样板以下:
{ "zk": "zk://10.101.160.15:2181/mesos", "masters": ["10.101.160.15:5050", "10.101.160.16:5050", "10.101.160.17:5050"], "refreshSeconds": 60, "ttl": 60, "domain": "mesos", "port": 53, "resolvers": ["169.254.169.254"], "timeout": 5, "httpon": true, "dnson": true, "httpport": 8123, "externalon": true, "listener": "10.101.160.16", "SOAMname": "ns1.mesos", "SOARname": "root.ns1.mesos", "SOARefresh": 60, "SOARetry": 600, "SOAExpire": 86400, "SOAMinttl": 60, "IPSources": ["netinfo", "mesos", "host"] }
而后建立config.json文件
[root@centos7 mesos-dns]# cat config.json { "zk": "zk://10.57.137.131:2181/mesos", "masters": ["10.57.137.131:5050"], "refreshSeconds": 60, "ttl": 60, "domain": "mesos", "ns": "ns1", "port": 53, "resolvers": ["8.8.8.8"], "timeout": 5, "listener": "0.0.0.0", "SOAMname": "root.ns1.mesos", "SOARname": "ns1.mesos", "SOARefresh": 60, "SOARetry": 600, "SOAExpire": 86400, "SOAMinttl": 60, "dnson": true, "httpon": true, "httpport": 8123, "externalon": true, "recurseon": true }
这个时候须要将mesos-dns使用marathon部署
这地方有坑,避免没法启动,须要注意
[root@centos7 mywork]# cat mesos-dns.json { "id": "mesos-dns", "cpus": 0.3, "mem": 120, "instances": 1, "constraints": [["hostname", "CLUSTER", "centos7_1"]], "cmd": "/usr/local/mesos-dns/mesos-dns -v=1 -config=/usr/local/mesos-dns/config.json " }
注意的地方:
1) 能够修改id的名称,占用cpus,mem,instances,
2) 注意里面的"hostname"字符串别乱改,CLUSTER字符串别乱改,
3) 里面的centos7_1能够修改,可是不能够随便修改,这个名字须要查看mesos-slave页签中的主机名称.(这地方好坑,只怪本身英语很差.原版文档看的太痛苦)
里面的主机名使用圈住的,别乱改,否则你会死的很惨
4) 里面的"cmd"后面的命令,他妈的死活不知道为啥加上sudo就不行,(因此别加sudo)
"cmd": "sudo /usr/local/mesos-dns/mesos-dns -v=1 -config=/usr/local/mesos-dns/config.json "
把上面的sudo去掉.
接下来将mesos-dns部署到marathon中.
curl -X POST -H "Content-Type: application/json" http://10.57.137.131:8080/v2/apps -d@mesos-dns.json
最后终于搞定了.