设置Rancher创建的Kubernetes集群的eviction策略

我一直把Rancher当Docker控制面板用,每个cluster都是单节点,启动一个算一个。最近就遇到这么个问题,一个node硬盘不足,触发了kubelet的eviction策略,于是kubelet干掉了两个container,又重启了两个——在唯一那个node上。如此循环往复了一刻钟,我就收获了几十个failed的container。

解决这个问题的方法很简单,用YAML方式编辑Rancher Cluster的设置,把kubelet的eviction策略设成空即可。

services: 
  kubelet: 
    extra_args:
      eviction-hard: ""
      eviction-soft: ""
      eviction-minimum-reclaim: ""

然后测试一下:

fallocate -l 37580963840 test.35g

应该就不会触发DiskPressure了。

说来这个eviction的设计也是很扯淡,它竟然是kubelet在本地计算的,不考虑整个cluster的情况。那我花那么多内存跑个etcd意义何在呢?

参考:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据