运行 v1.10,我注意到kube-controller-manager
s 内存使用量一直在飙升和 OOM。如果在这种情况发生之前系统没有陷入困境,那也不会那么糟糕。
我尝试修改/etc/kubernetes/manifests/kube-controller-manager.yaml
为拥有一个resource.limits.memory=1Gi
,但 kube-controller-manager pod 似乎永远不想回来。
还有其他选择吗?
运行 v1.10,我注意到kube-controller-manager
s 内存使用量一直在飙升和 OOM。如果在这种情况发生之前系统没有陷入困境,那也不会那么糟糕。
我尝试修改/etc/kubernetes/manifests/kube-controller-manager.yaml
为拥有一个resource.limits.memory=1Gi
,但 kube-controller-manager pod 似乎永远不想回来。
还有其他选择吗?
kube-controller-manager 有一个 bug,在https://github.com/kubernetes/kubernetes/pull/65339中修复
首先,您错过了有关每个节点使用的内存量的信息。
其次,“系统没有陷入困境”是什么意思-您的意思是节点正在交换吗?
所有 Kubernetes 主节点和节点都应该禁用交换 - 这是 Kubernetes 社区推荐的,如 Kubernetes 文档中所述。
对交换的支持非常重要,并且会降低性能。
通过以下方式关闭每个节点上的交换:
sudo swapoff -a
最后,
resource.limits.memory=1Gi
是每个 pod的默认值。这些限制是硬限制。Pod 达到这个级别的分配内存可能会导致 OOM,即使您有千兆字节的未分配内存。