Ограничить пусковые контейнеры после полной остановки - PullRequest
0 голосов
/ 19 декабря 2018

У нас есть голый металл Docker Swarm кластер с большим количеством контейнеров.

И недавно у нас была полная остановка на физическом сервере.

Основнойпроблема, произошла при запуске Docker, когда все контейнеры пытались запустить одновременно.

Я хотел бы знать, есть ли способ ограничить количество запускаемого контейнера?Или, если есть другой способ избежать перегрузки физического сервера.

1 Ответ

0 голосов
/ 20 декабря 2018

В настоящее время я не знаю возможности ограничить скорость, с которой режим роя будет запускать контейнеры.Есть запись задачи для добавления экспоненциального отката в коде и различных открытых проблем в наборе swarmkit, например, 1201 , которые могут в конечном итоге помочь в этом сценарии.В идеале у вас должен быть кластер высокой доступности с узлами, распределенными по разным AZ, и при сбое одного узла рабочая нагрузка будет мигрировать на другой узел, и у вас не будет одного перегруженного узла.

То, что вы можете использовать, это: ресурсные ограничения .Вы можете настроить каждый сервис с минимальным резервированием ЦП и памяти.Это помешало бы режиму роя планировать больше контейнеров на узле, чем он мог бы обработать во время значительного простоя.Недостатком является то, что некоторые службы могут выходить не по расписанию во время простоя, и вы не можете расставить приоритеты, которые более важны для планирования.

...