高負荷時に kubernetes ポッドが「craskLoopBackOff」ステータスで失敗する理由を確認する方法はありますか?
起動しないHorizontalPodAutoscalerがあります。そのステータスでは、CPUとメモリの使用量が常に低い(50%未満)と表示されます。
ポッド内のアプリケーション ログを追跡しても、洞察は得られません。
高負荷時に kubernetes ポッドが「craskLoopBackOff」ステータスで失敗する理由を確認する方法はありますか?
起動しないHorizontalPodAutoscalerがあります。そのステータスでは、CPUとメモリの使用量が常に低い(50%未満)と表示されます。
ポッド内のアプリケーション ログを追跡しても、洞察は得られません。
ポッドからログを取得するには、次を使用する必要があります。
kubectl logs [podname] -p
行うこともできますkubelet logs
が、それは主にクラスター ログ用です。
ログがない場合は、アプリケーションがクラッシュ前にログを生成しなかったことを意味します。アプリを書き直して、たとえばクラッシュ時にメモリ ダンプを追加する必要があります。
pod
高負荷で が死んでいるとおっしゃいましたが、統計では使用率が 50% しかありません。ポッドにログインして負荷を確認する必要があります。制限に達している可能性があるため、開いているファイルの数を確認してください。
Application Introspection と Debuggingに関する Kubernetes ドキュメントを読んで、Init-Containers を使用した CrashLoopBackoffs のデバッグに進むことができます。
Docker でイメージを実行して、そこでログを確認することもできます。ログとトラブルシューティングに関する優れたドキュメントが利用可能です。
詳細をお知らせいただければ、より役立つ可能性があります。