想定状況
kubectl apply -f hoge.yaml
にてPodを起動。
以下のようにyamlファイルを記載しているのでポッドを落とすと「replica:1」を満たすために再度ポッドがデプロイされる。
$ cat hoge.yaml kind: Deployment apiVersion: apps/v1 metadata: labels: app: hoge name: hoge spec: replicas: 1 ...
環境情報
- kubectl v1.15.1
ポッド内にログインし主要プロセスをkillする
以下のようにポッド内にログインし、主要プロセス(プロセス番号1)をkillする。
kubectl exec -it hoge /bin/sh sh-4.4$ kill 1 sh-4.4$ command terminated with exit code 137
上記のように「command terminated with exit code 137」というメッセージの後に強制ログアウトされる。
ポッドの状態を監視
フェーズ1として以下のように該当のポッド情報が確認できない。
> kubectl get pods NAME READY STATUS RESTARTS AGE
フェーズ2として「CrashLoopBackOff 」という状態となる。
この状態は「コンテナ内のプロセスの終了を検知してコンテナの再起動を繰り返している」とのこと。
> kubectl get pods NAME READY STATUS RESTARTS AGE hoge 0/1 CrashLoopBackOff 0 xx
フェース3としてポッドが立ち上がる。RESTARTSという箇所の数値が一つ増加する。
> kubectl get pods NAME READY STATUS RESTARTS AGE hoge 1/1 Running 1 xx
以上、Kubernetesのポッド単体検証メモでした。