节点级闲置指的是节点内未分配的资源——即 CPU 和内存虽然已被配置,但 Pod 并未真正使用。
这种情况通常是由于 Kubernetes 在调度工作负载时受到约束条件和优先级的影响,可能会导致某些资源没有被充分利用(例如,当工作负载未完全使用节点的容量时)。
这种资源配置不均会导致节点上存在大量未被使用的容量,但企业仍然需要为整个实例支付费用,从而造成成本浪费。 2. Pod 级闲置(Pod-Level Idle)
Pod 级闲置指的是 Pod 请求的 CPU 或内存超过其实际消耗。这可能是由于过度配置或资源请求和限制设置过于保守。
为了避免资源不足,Pod 可能会请求比所需更多的 CPU 和内存。这些未被实际使用的资源仍然被 Pod 占用,无法被其他工作负载使用,从而导致计算资源的浪费。
这些“闲置”资源仍然被保留以备 Pod 的潜在需求,它们虽然未被使用过,实际上仍然浪费了算力。
我们采取的技术措施
闲置成本降低
为了应对这些问题,我们利用了 Finout 和 Grafana 监控并可视化资源使用情况。
经过深入分析,我们制定了一套多层优化策略,以更有效地降低资源浪费。具体如下: 1. Pod 级闲置优化:
采用自动化资源调整工具,动态优化 Pod 的 CPU 和内存请求,使其仅请求实际需要的资源,从而在减少资源浪费的同时提高利用率。 2. 节点级闲置优化:
这套策略使我们能够使用更少但更匹配的节点,大幅减少未配置的资源,并最大限度地减少闲置节点数量。
CloudPilot AI (www.cloudpilot.ai) 对节点选择功能进行智能化升级。在选取实例的过程中,除了价格因素外,还将网络带宽、磁盘 I/O、芯片类型等因素纳入考虑范围内,通过智能算法选出兼顾成本和性能的实例类型,以减少资源浪费,增强应用稳定性。
目前,CloudPilot AI (www.cloudpilot.ai) 提供30天免费试用,欢迎点击官网进行尝鲜!