图解kubernetes Kubelet驱逐管理关键实现
驱逐管理是kubelet自我保护的一种机制,当资源缺乏的时候,通过阈值和策略主动驱逐部分的Pod从而保持系统的资源水位在一个合理的范围内,本身的策略官方文档上已经写的很详细,今天只是看下其在代码上的一些设计 1. 设计臆测 1.1 驱逐总体流程 驱逐总体流程主要是通过获取当前使用资源的统计信息和当前活跃的Pod容器列表,然后结合资源阈值来决策是否需要进行Pod的驱逐 1.2 基于观察者模式的观测 在驱逐管理器中基于观察者模式实现对特殊资源驱逐管理的支持,比如内存资源,在某些情况下即时当前的资源水位没有达到阈值,也可能会触发oom killer这个时候,对应的ThresholdNotifier也会尝试进行状态同步,从而确定是否要主动的驱逐一些节点, 目前这个特性应该还没开, 同理如果这个资源有...阅读全文