Docker Swarm + Mon go: не удается подключиться к управляющему узлу - PullRequest
0 голосов
/ 26 февраля 2020

Я пытаюсь создать Mon go ReplicaSet с 3-мя наборами реплик на каждом компьютере, используя Docker Swarm.

Пока что я создал Docker swarm, и с помощью docker stack deploy -c docker-compose.yml mono-prod контейнер mon go успешно развертывает на менеджере 2 других работника.

на диспетчере : если я войду в контейнер с bash, я может успешно пропинговать 2 рабочих узла, используя имена сервисов в docker -compose.yml (ping mongos_monoprix_secondary1). Я также могу подключить пн go к двум рабочим, используя, например, mongo --host mongos_monoprix_secondary1.

На каждого рабочего : я могу пропинговать менеджера и другого работника. Но когда я пытаюсь подключиться к экземпляру mon go в диспетчере, используя mongo --host mongos_monoprix_primary, я всегда получаю тайм-аут. (но я МОГУ подключиться к контейнеру mon go на другом работнике)

Кажется, это мешает мне создать мой ReplicaSet с первичным сервером на узле Manager.

Однако я можно создать ReplicaSet всего с 2 узлами, выбрав одного из рабочих в качестве основного, а другого в качестве вторичного - так как эти два прекрасно подключаются друг к другу.

Я что-то пропустил?

Вот мой docker -compose.yml

version: '3.5'

services:
  mongos_monoprix_primary:
    image: mongo
    restart: always
    entrypoint: [ "/usr/bin/mongod", "--bind_ip_all", "--replSet", "rs_mono_0" ]
    volumes:
      - ./data_primary:/data/db
    networks:
      - mono-mongo-cluster
    deploy:
      replicas: 1
      placement: 
        constraints:
          - node.labels.role == mono-db-primary

  mongos_monoprix_secondary1:
    image: mongo
    restart: always
    entrypoint: [ "/usr/bin/mongod", "--bind_ip_all", "--replSet", "rs_mono_0" ]
    volumes:
      - ./data_secondary1:/data/db
    networks:
      - mono-mongo-cluster
    deploy:
      replicas: 1
      placement: 
        constraints:
          - node.labels.role == mono-db-secondary1

  mongos_monoprix_secondary2:
    image: mongo
    restart: always    
    entrypoint: [ "/usr/bin/mongod", "--bind_ip_all", "--replSet", "rs_mono_0" ]
    volumes:
      - ./data_secondary2:/data/db
    networks:
      - mono-mongo-cluster
    deploy:
      replicas: 1
      placement: 
        constraints:
          - node.labels.role == mono-db-secondary2

networks:
  mono-mongo-cluster:    

Дайте мне знать, если вам нужна дополнительная информация.

...