При развертывании службы на kubernetes
, которую нужно сделать общедоступной, можно объявить ее тип как LoadBalancer
.
Каков эквивалентный способ предоставления конечной точки службы в MESOS/DCOS?
При развертывании службы на kubernetes
, которую нужно сделать общедоступной, можно объявить ее тип как LoadBalancer
.
Каков эквивалентный способ предоставления конечной точки службы в MESOS/DCOS?
В DCOS есть 2 типа агентов
Чтобы запустить сервис, который будет общедоступным, вам нужно запустить его на публичном агенте. Это можно сделать с помощью "acceptedResourceRoles":["slave_public"]
. Дополнительную информацию см. в документации.
В Месосе нужно позаботиться о своем сервисе. Существует множество решений, основные концепции которых описаны в этом ответе.
Есть много способов представить ваш сервис публично:
Разверните свое приложение на общедоступном узле с указанным ниже параметром в определении вашего приложения для марафона: "acceptedResourceRoles":["slave_public"]
Он скажет mesos запустить ваше приложение на общедоступных узлах. Затем вы можете получить доступ к своей службе, используя <PUBLIC IP of public node>:<HOST_PORT>
. Вы должны определить порт хоста в сетевом разделе определения вашего приложения.
Разверните marathon_lb на общедоступном узле (доступно во Universe) и настройте свое приложение для доступа через виртуальный хост (путем установки меток приложения: HAPROXY_GROUP : external, HAPROXY_0_VHOST : <PUBLIC IP of your Public node>
)
Настройте свой собственный обратный прокси-сервер, такой как haproxy, и настройте свое приложение как серверную часть.
Если ваше приложение является фреймворком Mesos, оно может зарегистрировать webui_url для административного доступа через маршрутизатор администратора. https://docs.mesosphere.com/1.8/development/dcos-integration/#framework-web-ui-url
Добавьте ниже метки в определение приложения:
"DCOS_SERVICE_NAME": "<service-name>",
"DCOS_SERVICE_PORT_INDEX": "0",
"DCOS_SERVICE_SCHEME": "http"