Даже после добавления дополнительного узла Kubernetes я вижу, что новый узел не используется, и получаю сообщение об ошибке «Нет доступных узлов, соответствующих всем предикатам:

Мы попытались добавить еще одно развертывание с 2 модулями к существующему набору модулей, запланированных на 4 узла и кластер с 1 главным узлом. Мы получаем следующую ошибку: нет доступных узлов, соответствующих всем предикатам: Недостаточно процессора (4), Недостаточно памяти (1), PodToleratesNodeTaints (2).

Глядя на другие потоки и документацию, это будет тот случай, когда существующие узлы превышают мощность процессора (на 4 узлах) и объем памяти (на 1 узле)...

Чтобы решить проблему с ресурсами, мы добавили еще один узел и перераспределили биты. Но по-прежнему вижу те же проблемы и вижу почти неиспользуемый узел. (см. ниже узел-5, который не используется, в то время как узел-2 и узел-4 перераспределены, узлы 1 и 3 будут перераспределены после добавления новых модулей, которые выходят из строя)

имя узла | Запросы процессора (ядра) | Ограничения процессора (ядра) | Запросы памяти (байты) | Пределы памяти (байты) | Возраст

узел-5 | 0,11 (5,50%) | 0 (0,00%) | 50 миль (1,26%) | 50 миль (1,26%) | 3 часа

узел-4 | 1,61 (80,50%) | 2,8 (140,00%) | 2,674 Гб (69,24%) | 4,299 Гб (111,32%) | 7 дней

узел-3 | 1,47 (73,50%) | 1,7 (85,00%) | 2,031 Ги (52,60%) | 2,965 Ги (76,78%) | 7 месяцев

узел-2 | 1,33 (66,50%) | 2,1 (105,00%) | 2,684 Гб (69,49%) | 3,799 Ги (98,37%) | 7 месяцев

узел-1 | 1,48 (74,00%) | 1,4 (70,00%) | 1,705 Ги (44,15%) | 2,514 Гб (65,09%) | 7 месяцев

мастер | 0,9 (45,00%) | 0,1 (5,00%) | 350 Ми (8,85%) | 300 миль (7,59%) | 7 месяцев

Обратите внимание, что у нас включено автоматическое масштабирование (с ограничением в 8 узлов). (версия клиента — v1.9.0, а версия сервера kubernetes — v1.8.4). Мы используем helm для развертывания и используем kops для добавления нового узла.

Почему модули не планируются таким образом, чтобы каждый узел мог быть ниже мощности? Почему мы видим ошибки и один полностью неиспользуемый узел?


person mi10    schedule 23.07.2018    source источник


Ответы (1)


Разобрался в чем дело. Вот и думаем, что случилось...

  1. Мы добавили новый узел (5-й) с помощью kops.
  2. в то время у используемого нами автомасштабирования кластера были настройки узла минимум 4 и максимум 8. Поэтому, вероятно, он счел этот узел бесполезным и добавил к нему следующую ошибку:

Дефекты: ToBeDeletedByClusterAutoscaler=1532321512:NoSchedule

  1. Таким образом, даже если бы мы попытались развернуть и повторно развернуть сервисы, ни один из модулей не был запланирован для этого узла из-за этой порчи.

Затем мы повторно развернули средство автомасштабирования с новыми значениями min = 5 и max = 8.

Затем мы удалили эту заразу и повторно развернули, проблема с тем, что этот 5-й узел не использовался, исчезла. И, следовательно, теперь было достаточно ресурсов узла, из-за чего мы не получили ошибку, которую мы получали.

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

person mi10    schedule 23.07.2018