запрос с одним ip или dnsname к многоузловому док-кластеру - PullRequest
0 голосов
/ 05 октября 2019

Я хочу сделать сервис High доступным. Тем не менее, я не знаю, как делать запросы к службам кластера с одним именем IP или DNS из-за пределов кластера.

Я попробовал --endpoint-mode dnsrr. Но я думаю, что это не для внешней балансировки запросов. Должен ли я использовать обратный прокси или внешний балансировщик нагрузки. Можно ли сделать с помощью программного обеспечения и дешево. Я хочу помочь мне. Спасибо.

1 Ответ

0 голосов
/ 05 октября 2019

Используйте --publish-add аргумент команды docker service update для сопоставления порта службы роя Docker с портом виртуальной машины хоста. Затем получите доступ к службе, используя IP-адрес и порт хоста.

Вы также можете создать службу с опубликованным портом, используя синтаксис --publish host_vm_port:service_port. Например:

docker service create --name my_web --replicas 3 --publish 8080:80 nginx

создаст службу роя Docker nginx с 3 репликами с портом 80 nginx, сопоставленным с портом хоста VM 8080. Затем ваш программный клиент может получить доступ к службе, используя [vm_ip: 80 / service_url] url

...