Docker строго применяет ограничения, в то время как настройки размещения строго не соблюдаются.
Вот стратегия, которую я хочу применить для моей услуги:
- 2 реплики
- когда это возможно, только один экземпляр на контейнер (распределен по узлу)
Вот фрагмент моего файла docker-compose:
deploy:
placement:
constraints:
- node.role == worker
preferences:
- spread: node.id
replicas: 2
Теперь простой сценарий:
- 2 рабочих узла, работающих
- Я развертываю службу: каждый узел имеет 1 экземпляр
- 1 узел переходит в автономный режим: оставшийся узел имеет 2 экземпляра: OK
- узел возвращается в оперативный режим: у одного узла теперь 2 экземпляра, а у другого нет
Можно ли сказать Docker повторно применить настройки размещения автоматически ?