Как развернуть докер с помощью встроенной балансировки нагрузки маршрутизации меша

Я развернул свои сервисы в кластере Docker Swarm из двух узлов.

[root@prod2 ~]# docker node ls
ID                           HOSTNAME      STATUS  AVAILABILITY  MANAGER 
STATUS
2p5j932qfrlnl7mwduac216zf *  prod2         Ready   Active        Leader
pu7vew6yektar4zxvt88cvl5t    iZ23q47vq9vZ  Ready   Active

Я хочу использовать функцию ячеистой маршрутизации для балансировки нагрузки моего сервисного API.

[root@prod2 ~]# docker service ls
ID            NAME                             MODE        REPLICAS  IMAGE
tq0ti36y0w11  app-1                            replicated  2/2       private-registry.com/myapp/app-1:latest

И это мой docker-compose.yml:

version '3'

services:
  app-1:
  image: private-registry.com/myapp/app-1:latest
  volumes:
    - /etc/localtime:/etc/localtime:ro
    - /etc/timezone:/etc/timezone:ro
  ports:
    - 8083:8083
  healthcheck:
    test: ["CMD", "curl", "-f", "http://localhost:8083/info"]
    interval: 5s
    timeout: 5s
    retries: 128
  deploy:
    mode: replicated
    replicas: 2
    update_config:
    parallelism: 1
    delay: 10s
    failure_action: continue
    monitor: 60s
    max_failure_ratio: 0.3

после развертывания я нашел эти выходные данные в Docker PS:

ID            NAME                             MODE        REPLICAS  IMAGE
tq0ti36y0w11  app-1                            replicated  2/2       private-registry.com/myapp/app-1:latest

и я могу получить доступ к своему приложению-1 в узле-1 (prod2) успешно. Я ожидал, что функция сетки маршрутизации загрузит баланс моего доступа к app-1. Однако я обнаружил, что узел-2(iZ23q47vq9vZ) никогда не получает никакого запроса.

Я пытался найти подход в Интернете, от документации докера до проблем с github. Однако я не нашел никакого полезного ответа. Пожалуйста, сделайте мне одолжение!

PS: моя версия докера

Client:
 Version:      17.03.0-ce
 API version:  1.26
 Go version:   go1.7.5
 Git commit:   3a232c8
 Built:        Tue Feb 28 08:10:07 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.03.0-ce
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   3a232c8
 Built:        Tue Feb 28 08:10:07 2017
 OS/Arch:      linux/amd64

Экспериментальный: ложный

0 ответов

Другие вопросы по тегам