Kubernetes

minikube/k8s/kubectl“觀看文件失敗………: 設備上沒有剩餘空間”

  • March 11, 2020

我對 k8s 和 minikube 還很陌生,可以幫助理解我在執行時遇到的常見但不普遍的錯誤kubectl logs -f <POD NAME>

kube-system我有時會在我自己的命名空間中的 pod 上以及在嘗試跟踪入口控制器日誌時遇到這種情況,而且出乎意料。pod 本身沒有明顯的錯誤,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$

這個的最終來源是什麼,我該如何解決?

聽起來該節點已用完 inotify 手錶。

fs.inotify.max_user_watches您可以使用每個 Kubernetes節點上的 sysctl 檢查或設置可用手錶的數量。

您可能會發現它已被設置為某個低得離譜的數字;預設情況下,它會根據系統的記憶體量自動調整。

[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 節點。)

引用自:https://serverfault.com/questions/963529