過去問ドリル

AI-200:Developing AI Cloud Solutions on Azure Azure でのコンテナー化されたソリューションの開発 問6

Azure でのコンテナー化されたソリューションの開発/コンテナー オーケストレーションの実装(Container Apps・AKS)

Azure Kubernetes Service(AKS)にマニフェスト ファイルでデプロイした API のポッドが、CrashLoopBackOff の状態を繰り返しています。再起動する前のコンテナーが出力したエラーを確認したいと考えています。最初に使うコマンドとして適切なものはどれですか。

当サイトのオリジナル問題(AI-200:Developing AI Cloud Solutions on Azureの出題範囲「Azure でのコンテナー化されたソリューションの開発」に対応。実際の試験問題ではありません)

正解:A

解説

CrashLoopBackOff は、コンテナーが起動直後に異常終了し、再起動を繰り返している状態です。kubectl logs に --previous を付けると、直前に終了したコンテナーのログを表示できるため、異常終了の原因となったエラーを確認できます。あわせて kubectl describe pod でポッドのイベントを見ると、メモリ不足による強制終了(OOMKilled)やイメージ取得の失敗などの手がかりが得られます。

選択肢ごとの解説

  • A正しい。--previous を付けると、再起動する前に終了したコンテナーのログを確認できます。
  • B誤り。kubectl apply はマニフェストを適用し直すコマンドです。原因を調べずに再適用しても、同じ理由でまた異常終了する可能性が高いです。
  • C誤り。レプリカ数を0にするとポッドが停止し、異常終了の原因を調べる手がかりが失われます。
  • D誤り。kubectl get nodes はノードの一覧を表示するコマンドです。個々のコンテナーが出力したエラーは分かりません。
AI-200:Developing AI Cloud Solutions on Azureの問題を演習モードで解く