Rainbond 组件资源限额

本文档针对于当前开源版本 Rainbond V5.2 编写,推荐目前安装此版本 Rainbond 的开源用户进行资源限额

为什么要对组件进行资源限额?

Rainbond 各个组件目前没有相应的资源限额,会出现组件大量占用 内存,CPU 服务器资源的情况,导致服务器负载过高。

限额方式

更新以下各个组件的控制器,调整其资源配额

组件            最小值request(内存:M/CPU:m)        最大值limit(内存:M/CPU:m)        
*rbd-app-ui          (256/0)                           (512/500)
 rbd-api             (64/0)                           (512/500)
*rbd-chaos           (128/0)                           (1024/500)              
 rbd-worker          (64/0)                           (512/500)
 rbd-node            (64/0)                          (512/500)
 rbd-webcli          (16/0)                            (256/100)
*rbd-repo            (512/0)                         (4096/1000)              
 rbd-mq              (32/0)                            (512/500)
 rbd-monitor         (128/0)                          (2048/500)
 rbd-hub             (64/0)                           (512/500)
 rbd-eventlog        (64/0)                          (1536/500)
 rbd-etcd            (128/0)                           (512/500)
 rbd-db-db           (256/0)                          (2048/1000)
 rbd-db-exporter     (16/0)                            (256/100)
 rbd-gateway         (256/0)                          (2048/2000)
 
 总量                2048/0                         16896/9200

举例修改rbd-api的资源限额

kubectl edit deployment rbd-api -n rbd-system

修改 spec.containers.resources,修改为

resources:
          limits:
            cpu: 500m
            memory: 512Mi
          requests:
            cpu: "0"
            memory: 64Mi

其他组件类似修改

参考指令

观察该空间下各个pod占用的资源量

kubectl top pod -n rbd-system

观察各个节点中,每个pod请求和限制的资源量

kubectl describe no