Бобы начинают слишком долго находиться в состоянии ожидания - PullRequest
0 голосов
/ 19 марта 2020

У меня есть кластер, где создаются задания в порядке того, что делают мои пользователи. Иногда у меня может быть 0 заданий параллельно, а иногда от 20 до 100. Я установил следующие ограничения для каждого контейнера:

cpu limit: 512m
memory limit: 512Mi;
cpu request: 256m;
memroy request: 128Mi;

У меня по умолчанию 2 узла, и у каждого есть:

7.91 CPU allocable
10.16 GB allocable

Пул узлов может масштабироваться до 5 узлов максимум.

Но когда в кластере начинает работать 8 и более параллельных заданий, новые задания начинают находиться в состоянии ожидания, ожидая, пока другие задания будут закрыты. Если задание выбрано для непосредственного запуска, оно будет выполнено через 6-7 секунд. Но когда кластер начинает бороться с 8 или 10 заданиями, выполнение каждого задания занимает приблизительно 20 секунд, поскольку оно заблокировано в состоянии ожидания или в состоянии ContainerCreating.

У меня есть IfNotPresent как imagePullPolicy, и каждое изображение имеет версия.

Я полагаю, кластер начнет бороться с 28 заданиями, зная мои выделяемые ресурсы, затем создаст новый узел и так далее. Почему я не прав? Можно ли заставить каждый контейнер запускаться без состояния ожидания? Я нашел новый планировщик, но я не уверен, может ли он помочь мне poseidon-Firmament-alternate-scheduler?

...