分类目录归档:Rancher

设置Rancher的Layer 7 Load Balancer端口号

这Nginx套Nginx套Nginx的架构总是让人难过的。有的时候你需要绕过Rancher开的Nginx,自己开一个,那么就需要让Rancher的Nginx不再监听主机的80/443端口。

集群YAML里:

ingress: 
  extra_args: 
    http-port: "8080"
    https-port: "5443"
  provider: "nginx"

如果要彻底禁用则可以:

ingress: 
  provider: "none"

设置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意义何在呢?

继续阅读