0
我有一個正在運行的Mesos/Marathon集羣,但正在運行的實例的IP不會傳播到Marathon-UI或traefik代理。運行實例的IP不會傳播
我mesos設置:
ExecStart=/bin/bash -c "/usr/sbin/mesos-slave \
--hostname=$(/usr/bin/hostname) \
--work_dir=/var/lib/mesos \
--master=zk://xxx.net:2181,yyy:2181,zzz:2181/mesos \
--log_dir=/var/log/mesos \
--executor_registration_timeout=10mins \
--containerizers=docker,mesos \
--docker=$(which docker) \
--ip=$(ifconfig eth0 | grep -oP 'inet \K\S+')"
我treafik的conf:
logLevel = "INFO"
[web]
address = ":8088"
[marathon]
endpoint = "http://xxx:8080"
watch = true
domain = "xxx"
exposedByDefault = true
groupsAsSubDomains = true
forceTaskHostname = true
[accessLog]
UPDATE: 應用程序定義是:
{
"id": "/web",
"cmd": null,
"cpus": 1,
"mem": 64,
"disk": 0,
"instances": 1,
"acceptedResourceRoles": [
"*"
],
"container": {
"type": "DOCKER",
"volumes": [],
"docker": {
"image": "ldaume/caddy",
"network": "BRIDGE",
"portMappings": [
{
"containerPort": 2015,
"hostPort": 0,
"servicePort": 10001,
"protocol": "tcp",
"labels": {}
}
],
"privileged": false,
"parameters": [],
"forcePullImage": false
}
},
"portDefinitions": [
{
"port": 10001,
"protocol": "tcp",
"labels": {}
}
]
}
如果我將Marathon DNS與給定端口一起使用,則可以訪問該應用程序。
您能否指定您正在使用的Marathon版本,並添加已清理的應用程序定義?馬拉松隊的Ivan說:「如果是Marathon 1.5.x,那麼答案可能很簡單,因爲Marathon已經過時了,並且有一些突破了1.5的網絡相關變化,或許這同樣適用於traefik」。儘管考慮下面的答案,但對於traefik來說可能並不相同。 –
因@JudithMalnick。我在使用Marathon 1.4.8(在嘗試1.5.1之前)使用Mesos 1.4在Debian伸展(9)和traefik 1.4 – Lenny
甜,謝謝!你可以添加你的應用程序或pod定義嗎? –