サーバーレス・コンテナアーキテクチャ応用問題
Amazon EKSクラスターでDeploymentのローリングアップデートを実施中に、新しいバージョンのコンテナイメージが存在しないImagePullBackOffエラーが発生した場合、Kubernetesはどのように動作しますか?
A.Kubernetesはローリングアップデートを即座に中断し、すべての既存Podを古いバージョンに自動ロールバックする
✗ Kubernetesは自動的にロールバックしません。ロールバックはkubectl rollout undoコマンドで手動実行する必要があります。
B.新しいPodのImagePullBackOffが続くため、ローリングアップデートが停止し、古いバージョンのPodはそのまま稼働し続ける← 正解
✓ 正解です。maxUnavailableの設定により既存Podは維持され、新PodがImagePullBackOffで起動できないためローリングアップデートが進まず停止します。
C.Kubernetesはイメージが見つからない場合、最後に成功したローカルキャッシュのイメージを使用してPodを起動する
✗ ImagePullPolicyがIfNotPresentでキャッシュがある場合を除き、存在しないイメージタグではPodは起動できません。
D.新しいPodのImagePullBackOffが発生すると、Kubernetesは自動的にECRから直前の正常なイメージタグを検索して使用する
✗ KubernetesはECRを検索して代替イメージを自動選択する機能を持ちません。指定されたイメージタグを使用しようとします。