docker -swarm + nginx балансировка нагрузки: нужно ли устанавливать upstream в .conf? - PullRequest
1 голос
/ 04 марта 2020

Я довольно новичок в docker -warm и nginx, моя текущая установка - базовое c приложение для фляги / оружия, использующее nginx в качестве обратного прокси-сервера, развернутое на docker -Swar's, прямо сейчас он работает успешно, когда я запрашиваю один из узлов роя, он каждый раз возвращает идентификатор хоста другого хоста в рое, что, как я предполагаю, происходит балансировка нагрузки.

Хотя я не знаю, является ли это docker рой делает это или nginx.

РЕДАКТИРОВАТЬ: я масштабирую службы по хостам в рое.

Я видел различные примеры установки восходящей переменной (которая у меня нет) и вручную добавив туда каждый IP-адрес хоста, у меня вопрос: нужно ли мне включать его для правильной балансировки нагрузки / как я могу проверить правильность его балансировки?

Вот мой nginx dockerfile и docker -compose.yml

worker_processes  3;

events { }

http {

  keepalive_timeout  360s;

  server {

      listen 8080;
      server_name app;
      charset utf-8;

      location / {
          proxy_pass http://app:5000;
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      }
  }
}
version: '3'

services:

  app:
    image: <repouser>/<repo>:flask
    deploy:  
      replicas: 1
      restart_policy:  
        condition: on-failure    
    networks:
      - apinetwork
    expose:
      - "5000"
    ports:
      - "5000:5000"

  nginx:
    image: <repouser>/<repo>:nginx
    deploy:  
      replicas: 1
      restart_policy:  
        condition: on-failure  
    networks:
      - apinetwork
    expose:
      - "80"
    ports:
      - "80:8080"

networks:
  apinetwork:
    driver: overlay

Спасибо за любую помощь.

...