Можно ли как-то настроить, как мастер-узел распределяет сервисы в Docker Swarm?Я думал, что он должен видеть свободные ресурсы рабочих узлов и распределять их по «свободному» узлу.
В настоящее время у меня проблема в том, что служба распределена по одному узлу, который заполнен (90% ОЗУ), и он начинает работать с задержкой, но в то же время у второго узла мало служб, и он может обрабатывать другой.
docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
wdkklpy6065zxckxyuj000ei4 * docker-master Ready Drain Leader 18.09.6
sk45rol2whdr5eh2jqozy0035 docker-node01 Ready Active Reachable 18.09.6
o4zwwbwwcrbwo4tsd00pxkfuc docker-node02 Ready Active 18.09.6
Теперь у меня 36 (очень похожих) сервисов, 28 запущены на docker-node01, 8 на docker-node02.Я думал, что идеальным состоянием является 16 сервисов на обоих узлах.Оба docker-узла одинаковы.
- Как Docker Swarm знает, где запустить сервис?Какой алгоритм он использует?
- Можно ли изменить / обновить алгоритм выбора узла?