他のリソースにアクセスできるようにするために、永続的なポッドとしてクラスター内にデプロイする必要があるアプリケーションを継承しましたが、このアプリケーションは、ユーザーがポッドに入ったときにオンデマンドでのみ実行されます。初期化時には、後日kubectl exec
ユーザーがポッドにアクセスできるようにする以外、何もする必要はありません。exec
これは古い Jenkins-X 2 クラスターでは正常に動作しますが、新しい Jenkinx-X 3 バージョンでは動作しません。
展開されると、ステータスは次のライフサイクルを経るようです。
Running
Completed
CrashLoopBackOff
しかし、kubectl logs -n <<namespace>> <<podname>> -p
エラーは表示されず、kubectl describe pod -n <<namespace>> <<podname>>
セクションにContainers/<<appname>>
は
State: Waiting
Reason: CrashLoopBackOff
Last State: Terminated
Reason: Completed
Exit Code: 0
CrashLoopBackoff
一貫性がないように見えます。最後の状態がTerminated
becauseでCompleted
、 が0 になっている理由がわかりませんExit Code
。私が見る限り、アプリケーションは失敗しておらず、Kubernetes がポッドを実行したままにするのではなく、完了としてシャットダウンしているため、どういうわけか CrashLoopBackoff でスタックしているだけです。
これは、要求に対応するために継続的に実行されているプロセスが見つからないために準備プローブまたは生存プローブが強制終了したことによるものではないかと考えましたが、それらを削除したり、古いバージョンに戻したりしても、何も変わらないようです。
おそらく、古いバージョンと新しいバージョンの間でグラフに何か問題が生じているのでしょうが、どこを調べればよいのかわかりません。原因として考えられるものはありますか?