Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

42.4. エビクトされた Pod の診断

OpenShift Container Platform は、ノードの一時ストレージが使い切られると、ノードから Pod をエビクトする場合があります。一時ストレージの消費の度合いによって、エビクションが正常に行われる場合もあれば、行われない場合もあります。正常なエビクションでは、各コンテナーのメインプロセス、PID 1 は SIGTERM シグナルを受信し、少し時間が経ってからプロセスがまだ実行されている場合には SIGKILL シグナルを受信します。正常でないエビクションでは、各コンポーネントのメインプロセスが SIGKILL シグナルを即時に受信します。

すべての 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: [DiskPressure].'
  phase: Failed
  reason: Evicted

エビクトされた Pod のフェーズは Failed になり、理由 は Evicted になります。この場合には、restartPolicy の値に関係なく再起動されません。ただし、 ReplicationController などのコントローラーは Pod の失敗したステータスを認識し、古い Pod を置き換える新しい Pod を作成します。