モニタリングでKubernetesポッドの再起動を確認する

モニタリングでKubernetesポッドの再起動を確認する

最近クラッシュしていると思われるポッドがあり、kubectl get pods16 回の再起動が表示されていますが、監視を確認すると、名前に「再起動」が含まれるすべてのメトリックが空になっています。

これを監視するために何かを明示的にオンにする必要がありますか?

答え1

クラッシュする Pod のトラブルシューティングを行うには、まずその説明を確認する必要があります。

$ kubectl describe pod -n ci clair-kube-7c8d8cf949-nlhv8
Containers:
  clair:
    [...]
    State:          Running
      Started:      Wed, 19 Aug 2020 22:06:54 +0200
    Last State:     Terminated
      Reason:       OOMKilled
      Exit Code:    137
      Started:      Wed, 19 Aug 2020 13:07:51 +0200
      Finished:     Wed, 19 Aug 2020 22:06:53 +0200
    Ready:          True
    Restart Count:  42

ここで、コンテナのメモリ制限を上げる必要があることは明らかです。

場合によっては、理由が表示されず、終了コードのみが表示されることがあります。最終的には、それらを認識できるようになります。最初は、以前のコンテナ ログを探す必要があります。

$ kubectl logs -n ci cassandra-kube-2 -c exporter -p --tail=XX
[...]
Exception in thread "pool-1-thread-33" Exception in thread "pool-1-thread-34" java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: Java heap space

関連情報