Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

41.7. 诊断被驱除的 pod

OpenShift Container Platform 可在节点内存耗尽时从节点上驱除 pod。根据内存耗尽的程度,驱除可能是安全操作,但也不一定。安全驱除表示,每个容器的主进程(PID 1)收到 SIGTERM 信号,在进程尚未退出的情况下,一段时间后会有一个 SIGKILL 信号。非安全驱除暗示着各个容器的主进程会立即收到 SIGKILL 信号。

被驱除的 pod 将具有原因为 EvictedFailed 阶段。无论 restartPolicy 的值是什么,该 pod 都不会重启。但是,ReplicationController 等控制器会看到 pod 的失败状态,并且创建一个新 pod 来取代旧 pod。

$ oc get pod test
NAME      READY     STATUS    RESTARTS   AGE
test      0/1       Evicted   0          1m

$ oc get pod test -o yaml
...
status:
  message: 'Pod The node was low on resource: [MemoryPressure].'
  phase: Failed
  reason: Evicted