在marathon上部署mesos-dns服务(解决没法启动,部署失败)

测试部署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

最后终于搞定了.

相关文章
相关标签/搜索