DC/OS марафон Виртуальная сеть не работает
Я установил DC/OS с 3 мастерами и 3 агентами и столкнулся с проблемой виртуальной сети. Вот моя спецификация приложения Marathon:
{
"id": "/nginx",
"cmd": null,
"cpus": 1,
"mem": 128,
"disk": 0,
"instances": 1,
"container": {
"type": "DOCKER",
"volumes": [],
"docker": {
"image": "nginx",
"network": "BRIDGE",
"portMappings": [
{
"containerPort": 80,
"hostPort": 0,
"servicePort": 10002,
"protocol": "tcp",
"name": "main1",
"labels": {
"VIP_0": "9.0.0.0:34562"
}
}
],
"privileged": false,
"parameters": [],
"forcePullImage": false
}
},
"portDefinitions": [
{
"port": 10002,
"protocol": "tcp",
"labels": {}
}
]
}
В разделе виртуальной сети DC/OS я вижу следующее:
НАИМЕНОВАНИЕ ВИРТУАЛЬНОЙ СЕТИ | Подсеть | АГЕНТ ПРЕФИКС ДЛИНА
Dcos 9.0.0.0/8 24
Контейнеры долго ждут. Если я удаляю раздел сопоставления портов, он работает успешно.
По сути, мне нужно знать, как работать с этой новой виртуальной сетью, и исправить обнаружение службы и балансировку нагрузки без использования каких-либо дополнительных вещей.
1 ответ
Мне понадобилось время, чтобы понять это...
Вам нужно:
- Удалить все порты назначения в определении задачи
Опишите имя сети, к которой нужно подключиться (созданная по умолчанию сеть называется "dcos")
{ "id": "yourtask", "container": { "type": "DOCKER", "docker": { "image": "your/image", "network": "USER" } }, "acceptedResourceRoles" : [ "slave_public" ], "ipAddress": { "networkName": "dcos" }, "instances": 2, "cpus": 0.2, "mem": 128 }