Evicted pod 的产生与节点资源不足紧密相关。实例被驱逐后,其底层关联的容器实际上已被销毁,但这部分 Evicted 状态的 Pod 仅在 k8s 中作为一个空壳保存,不会对用户的服务产生影响。然而,这部分 Evicted pod 并未被自动清理,而是需要用户手动处理。这种现象可能导致部分用户误以为服务或平台存在问题,影响用户体验。
为了更直观地解答 Evicted pod 是如何产生的问题,我们需要从几个关键点进行分析。首先,了解 Evicted pod 的状态与节点资源不足之间的关联,以及kubelet 在此过程中的角色与配置。其次,掌握kubelet用于判断资源使用情况的指标,如memory.available、nodefs.available、nodefs.inodesFree、imagefs.available、imagefs.inodesFree、pid.available等,以及如何通过--eviction-hard参数进行配置。