docker覆盖导致Kubernetes节点磁盘使用率高

docker覆盖导致Kubernetes节点磁盘使用率高,docker,amazon-ec2,kubernetes,cadvisor,aws-ebs,Docker,Amazon Ec2,Kubernetes,Cadvisor,Aws Ebs,我在AWS上部署kubernetes节点时遇到了一个问题。 (在m3上运行3个节点和1个主节点的集群。大型实例,每个约25GB) 在(大约3天)之后,磁盘上还剩下0 KB,群集被卡住 所有存储(或多或少)都由/var/lib/docker/overlay/使用。 此文件夹中大约有500个或更多文件: drwx------ 3 root root 4096 Jun 20 15:33 ed4f90bd7a64806f9917e995a02974ac69883a06933033ffd5049dd31c

我在AWS上部署kubernetes节点时遇到了一个问题。 (在m3上运行3个节点和1个主节点的集群。大型实例,每个约25GB)

在(大约3天)之后,磁盘上还剩下0 KB,群集被卡住

所有存储(或多或少)都由/var/lib/docker/overlay/使用。 此文件夹中大约有500个或更多文件:

drwx------ 3 root root 4096 Jun 20 15:33 ed4f90bd7a64806f9917e995a02974ac69883a06933033ffd5049dd31c13427a
drwx------ 3 root root 4096 Jun 20 15:28 ee9344fea422c38d71fdd2793ed517c5693b0c8a890964e6932befa1ebe5aa63
drwx------ 3 root root 4096 Jun 20 16:17 efed310a549243e730e9796e558b2ae282e07ea3ce0840a50c0917a435893d42
drwx------ 3 root root 4096 Jun 20 14:39 eff7f04f17c0f96cff496734fdc1903758af1dfdcd46011f6c3362c73c6086c2
drwx------ 3 root root 4096 Jun 20 15:29 f5bfb696f5a6cad888f7042d01bfe146c0621517c124d58d76e77683efa1034e
drwx------ 3 root root 4096 Jun 20 15:26 f5fa9d5d2066c7fc1c8f80970669634886dcaccc9e73ada33c7c250845d2fe8c
drwx------ 3 root root 4096 Jun 20 14:38 f8fd64fb1e0ab26708d5458dddd2d5a70018034237dfed3db48ada5666fcf77f
drwx------ 3 root root 4096 Jun 20 14:46 faa143ebd7a4079eaa45ddbf17dcfc9163e3035983f2e334e32a60e89452fa94
drwx------ 3 root root 4096 Jun 20 14:48 fb93c0c64e0d4935bf67fc8f70df2b8a4cffe59e294ee8a876dfdf6b57486da5
drwx------ 3 root root 4096 Jun 20 14:46 fd0a420d5655fb7d022c397effdb95968ff7e722c58fcc7915f97e8df47cd080
集群运行在Kubernetes 1.6.4和Docker 1.12.6上

这似乎是kubernetes的垃圾收集器的问题。运行cAdvisor/validate会给我以下消息

 None of the devices support 'cfq' I/O scheduler. No disk stats can be reported.
     Disk "xvda" Scheduler type "none".
运行那些语句
journalctl-u kubelet | grep-i garbage
也会给出一条错误消息:
Jun 20 14:35:21 ip-172-21-4-239 kubelet[1551]:E0620 14:35:21.986898 1551 kubelet.go:1165]图像垃圾收集失败:无法找到容器的数据/


有没有办法让垃圾收集器重新工作?

我能够通过编辑
kops cluster.spec
kops edit cluster[cluster\u name]
解决节点上重复出现高IO的类似问题。 我在规范下添加了以下内容:

docker:
    logDriver: json-file
    logLevel: warn
    storage: overlay2

默认情况下,
kops
将docker配置为使用overlay作为默认存储驱动程序,而docker建议使用
overlay2
作为更新、更稳定和更快的存储驱动程序。

它们是目录,每个目录的大小是多少<代码>du-sh/var/lib/docker/overlay/*和目录本身
du-sh/var/lib/docker/overlay/
文件大小并不总是相同的。(有很多文件大约有几千字节,但也有很多文件有710MB、197MB、17MB等等…(总计14GB)文件夹也是14GB。您是否运行kops?如果是的话,哪个版本?一些旧版本的kops没有配置所有GC设置,因此您可能只需要升级kops。如果您让我知道您正在运行哪个版本的kops,我可以确认在以后的版本中是否有修复程序。