总是说Kubernetes能够提高资源利用率,在我实际使用过程中,实际的usage/request/limit三个值与node的总资源比例差距很多;大概是 | 使用率 | request | limit ---|---|---|--- Node-1 | cpu: 20%, mem 30% | cpu: 83%, mem 90% | cpu: 210%, mem 260% Node-2 | cpu: 18%, mem 32% | cpu: 76%, mem 87% | cpu: 310%, mem 290% Node-3 | cpu: 34%, mem 26% | cpu: 85%, mem 80% | cpu: 400%, mem 320% 即出现实际上资源占用并无多少,但是node资源已经被分配完毕导致node无法继续分配资源。 request设计的太小会太过频繁触发横向伸缩,导致客户端响应有时候会丢失,例如缩容时候有几个请求较慢的被强制中断。 request设计的太大会导致低峰期会导致资源浪费,并且扩容起来也容易导致NODE资源因为空间不足分配不了。 1. request该如何设计找到 预设计的资源与我们实际中的使用率的平衡呢? 2. 可以看到表格中limit的资源超卖现象非常严重,高峰期很容易导致服务群的雪崩,limit又该超卖多少合适呢?