У меня есть набор задач для данного сервиса t1, t2, ..., tk
по узлам N1, N2, ...Nw
.
Из-за меньшего использования мне не нужно столько задач, сколько k
. Мне нужно только l
задач (l < k
).
На самом деле мне не нужно w
узлов, поэтому я хочу начать удалять машины и платить меньше. Можно удалять по одной машине за раз.
Каждая служба имеет свое состояние. Службы запускаются в реплицированном режиме.
1) Как удалить один узел и заставить рой докеров не создавать заново такое же количество задач для службы?
Заметки:
- Я могу гарантировать, что никакая работа не будет перенаправлена на задачи, выполняемые на определенном узле, поэтому удаление определенного узла безопасно.
- Это самое простое решение, я закончу с
w - 1
узлами иl
сервисами, предполагая, что на удаленном узле обслуживалосьk - l
сервисов.
or
2) Как удалить определенные контейнеры (задачи) из docker swarm и уменьшить количество реплик службы на количество удаленных задач?
Заметки:
- Я предполагаю, что я уже удалил узел. Услуги с узла были перераспределены на другие узлы.
- Я сам слежу за контейнерами (задачами), которые не обслуживают трафик -> для поддержания состояния не требуется
or
3) Есть ли другое решение?