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.)