kube-scheduler создает огромные лог-файлы

Мы на кубе v1.13.10. У нас есть ~ 500 узлов в кластере. Недавно я начал получать предупреждения о DiskPressure от мастеров. После некоторых проверок выяснилось, что причина в логах kube-scheduler. Они увеличились в размере до ~ 20 ГБ каждый, и их может быть 5. А у главного экземпляра было всего 80 ГБ свободного места на диске.
Logrotate настроен на запуск каждый час с отложенным сжатием (настройки kops по умолчанию). Журналы в основном заполнены такими сообщениями

E0929 00:34:27.778731       1 predicates.go:1277] Node not found, ip-10-0-0-1.ec2.internal
E0929 00:34:27.778734       1 predicates.go:1277] Node not found, ip-10-0-0-1.ec2.internal
E0929 00:34:27.778738       1 predicates.go:1277] Node not found, ip-10-0-0-1.ec2.internal
E0929 00:34:27.778742       1 predicates.go:1277] Node not found, ip-10-0-0-1.ec2.internal
E0929 00:34:27.782052       1 predicates.go:1277] Node not found, ip-10-0-0-1.ec2.internal
E0929 00:34:27.782068       1 predicates.go:1277] Node not found, ip-10-0-0-1.ec2.internal
E0929 00:34:27.782073       1 predicates.go:1277] Node not found, ip-10-0-0-1.ec2.internal
E0929 00:34:27.782079       1 predicates.go:1277] Node not found, ip-10-0-0-1.ec2.internal
E0929 00:34:27.782083       1 predicates.go:1277] Node not found, ip-10-0-0-1.ec2.internal

Я увеличил размер диска для мастера. Но почему так много сообщений об ошибках? Он сгенерировал 20 ГБ журналов за 1 час, я думаю, что это немного экстремально. Как я могу этого избежать?


person AlexS    schedule 29.09.2019    source источник
comment
вы видите узел ip-10-0-0-1.ec2.internal при запуске kubectl get nodes?   -  person wineinlib    schedule 30.09.2019
comment
ни один узел не исчез. все же я думаю, что он не должен писать столько ошибок.   -  person AlexS    schedule 02.10.2019


Ответы (1)


Сообщение, которое вы получаете, было недавно изменено разработчиками с: "Node not found, %v" на "Pod %s has NodeName %q but node is not found" В новом сообщении говорится, что существует модуль, запланированный для несуществующего узла.

Лучший способ исправить это — удалить узел с помощью kubectl delete node <node_name>, и если это не сработает, попробуйте удалить его из etcd с помощью etcdctl. Таким образом, планировщик мог бы переместить модуль на другой узел, что уменьшило бы журналы ошибок и их размер.

Пожалуйста, дайте мне знать, если это помогло.

person Wytrzymały Wiktor    schedule 08.10.2019
comment
Нет, к сожалению, мне это не поможет. Мы используем автомасштабирование на спотовых инстансах. Узлы постоянно создаются и удаляются. Я не могу удалить узлы вручную. Моя проблема - безумный размер логов планировщика. Я не против быть уведомленным о несуществующем узле, всего 8 гигабайт журналов в час кажутся экстремальными. - person AlexS; 31.10.2019