我最近不得不禁用fluentd-elasticsearch
Kubernetes插件,因为它最终占用了我的一个小兵上的所有磁盘空间,这反过来阻止了一个重要的pod开始。
我现在担心监控插件最终可能会占用磁盘空间。监控数据(存储在Influxdb中)是否被垃圾收集或是否继续在磁盘空间消耗?还有其他Kubernetes组件会无限期地占用磁盘空间吗?
我在AWS上使用./cluster/kube-up.sh
设置了我的群集。
客户端版本:version.Info {Major:“1”,Minor:“2”, GitVersion: “V1.2.4”, GitCommit: “3eed1e3be6848b877ff80a93da3785d9034d0a4f” GitTreeState:“clean”}服务器版本:version.Info {Major:“1”, 轻微:“2”,GitVersion:“v1.2.4”, GitCommit: “3eed1e3be6848b877ff80a93da3785d9034d0a4f” GitTreeState: “干净”}
答案 0 :(得分:0)
要回答您的具体问题:您应该使用emptydir(kubectl get po --all-namespaces -o yaml | grep emptyDir
)或hostPath查找pod。
作为一般政策: 如果你使用光伏,它应该受到光伏上可用空间的限制。这样的pv通常由cloudprovider或nfs支持,并通过网络安装。
如果您使用“emptyDir”,您的存储空间将从kubelet的--root-dir中取出。根据分发/设置,这可能是一个孤立的分区,使得流氓应用程序无法取消该节点。
如果使用hostPath,则显式选择节点上的路径。如果您在没有足够权限的情况下运行来声明文件系统的敏感部分并用数据填充它们,则该节点会关闭。
在日志记录方面有一些工作可以做得更好:https://github.com/kubernetes/kubernetes/issues/17183
还有图像/容器GC,如果您的磁盘使用率高于阈值,它就会启动。您应该检查您正在使用的kubernetes版本是否存在GC问题(将在发行说明中提及)。