限制kube-controller-manager使用的内存量

时间:2018-04-15 05:20:38

标签: kubernetes out-of-memory kube-controller-manager

运行v1.10并且我注意到kube-controller-manager的内存使用率峰值和OOM始终存在。如果系统在发生这种情况之前没有陷入困境,那就不会那么糟糕了。

我尝试修改/etc/kubernetes/manifests/kube-controller-manager.yaml以获得resource.limits.memory=1Gi,但kube-controller-manager pod似乎永远不会想要恢复。

还有其他选择吗?

2 个答案:

答案 0 :(得分:1)

kube-controller-manager中存在一个错误,该错误已在https://github.com/kubernetes/kubernetes/pull/65339中修复

答案 1 :(得分:0)

首先,您错过了有关每个节点使用的内存量的信息。

其次,你的意思是“系统没有陷入困境” - 你的意思是节点交换?

所有Kubernetes主人和节点都应该禁用交换 - 这是Kubernetes社区推荐的,如Kubernetes文档中所述。

支持交换非常重要,会降低性能。

通过以下方式关闭每个节点上的交换:

sudo swapoff -a 

最后,

resource.limits.memory=1Gi

每个广告的价值为default。这些限制是硬限制。 Pod达到此分配内存级别可能会导致OOM,即使您有未分配内存的千兆字节。