У меня есть 3 узла в режиме роя докеров, где.
1 управляющий и 2 рабочих узла
У меня тут 2 сомнения?
Каков будет эффект, если я масштабирую сервис до числа, превышающего количество узлов, которые у нас есть. (Предположим, что один сервис будет увеличен до 5 или 6)
Что произойдет с масштабом, если у службы есть ограничение, согласно которому она должна работать только на узлах менеджера, и мы масштабируем число выше, чем количество узлов менеджера. (Например, масштабирование до 3)
У меня есть служба mysql, работающая в узле менеджера, у которого есть размещение ограничений, определенное в docker-compose для запуска в узле менеджера. Это эффект, который я вижу, когда пытаюсь масштабировать его до 6, хотя у меня всего 3 узла. docker service logs
показывает, что работает 4/6 и равномерно колеблется, иногда показывая 6/6, а иногда 5/6
Здесь docker-compose.yml
version: '3.4'
networks:
smstake:
ipam:
config:
- subnet: 10.0.10.0/24
services:
db:
image: mysql:5.7
networks:
- smstake
ports:
- "3306"
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: mydb
MYSQL_USER: myuser
MYSQL_PASSWORD: password
volumes:
- mysql_data_2:/var/lib/mysql
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.role == manager
app:
image: SMSTAKE_VERSION
ports:
- 8000:80
networks:
- smstake
depends_on:
- db
# - migration
deploy:
mode: replicated
replicas: 3
migration:
# build: .
image: SMSTAKE_VERSION
command: sh -xc "sleep 10 && pwd && php artisan migrate:fresh --seed 2>&1"
networks:
- smstake
depends_on:
- app
- db
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.role == manager
volumes:
mysql_data_2: