Pod GC Controller 的实现 (src) 较为简单。
Pod GC Controller 实现三个功能:
- 若
TerminatedPodGCThreshold
> 0,按创建时间清理Status.Phase
不是Pending
,Running
,Unknown
的 Pod。 - 清理所在节点(
Spec.NodeName
)不再存在的 Pod。- 这一步不会立刻开始清理。而是会等待一段时间(默认 40 秒),若节点依旧不存在,才会开始清理。
- 清理删除时间不为空,且没有被调度到某个节点上(
Spec.NodeName
)的 Pod。- 若 Pod 已经被调度到了一个节点上,删除事件是由 Kubelet 处理的。