【发布时间】:2018-12-06 02:10:22
【问题描述】:
我更改了 kops 设置的默认驱逐策略以包含条件 memory.available<1Gi。 --eviction-hard 标志现在设置为:
memory.available<1Gi,nodefs.available<10%,nodefs.inodesFree<5%,imagefs.available<10%,imagefs.inodesFree<5%
现在一个节点上的可用内存为 400Mb,并且已经有很长一段时间了。没有发生 pod 驱逐。
为什么 kubelet 不驱逐 pod 以腾出空间?其他节点上还有很多空间。
驱逐条件之间是否有AND?如何查看 kubelet 看到的内存使用情况?
【问题讨论】:
-
尝试运行这个script,它重现了
kubelet计算memory.available所执行的同一组步骤 -
该脚本显示大约 2 gig 的可用 RAM,而 htop 显示大约 800mb 的可用内存。是否需要进行一些与配置相关的更改才能让 kubectl 读取 htop 正在读取的内容?
-
在 Kubernetes 配置中没有这样的机会来改变它。但是在这种情况下使用 htop 并不是一个好主意,因为它用缓存来计算内存
标签: kubernetes