minikube/k8s/kubectl "не удалось просмотреть файл [ ... ]: на устройстве не осталось места" "

Я довольно новичок в k8s и minikube, и могу использовать помощь в понимании частой, но не вездесущей ошибки, которую я получаю при запуске kubectl logs -f <POD NAME>

Я получаю это иногда и непредсказуемо на стручках в моем собственном пространстве имен и в kube-systemНапример, при попытке подключить журналы входного контроллера. Там нет очевидной ошибки в самих стручках, и вывод kubectl logs команда содержит нормально выглядящие строки журнала вплоть до, например failed to watch file "/var/log/pods/kube-system_nginx-ingress-controller-586cdc477c-95pgh_4b8310a4-5f9b-11e9-9666-0800270e7244/nginx-ingress-controller/1.log": no space left on device$

Каков окончательный источник этого, и как я могу решить это?

1 ответ

Решение

Похоже, на узле закончились часы inotify.

Вы можете проверить или установить количество доступных часов, используя sysctl fs.inotify.max_user_watches на каждом узле Kubernetes.

Вы, вероятно, обнаружите, что для него установлено какое-то смехотворно низкое число; по умолчанию он настраивается автоматически в зависимости от объема памяти системы.

[root@small ~]# sysctl fs.inotify.max_user_watches
fs.inotify.max_user_watches = 8192

[root@large ~]# sysctl fs.inotify.max_user_watches
fs.inotify.max_user_watches = 1048576

Какой бы ни была сумма в настоящее время, удвойте ее, пока проблема не прекратится.

(Использовать minikube ssh чтобы получить доступ к узлу Minikube.)

Другие вопросы по тегам