ある企業がAKSクラスターのノードプールをアップグレード(Kubernetesバージョン更新)する必要がある。本番ワークロードへの影響を最小限にしながらアップグレードを行いたい。AKSノードプールのアップグレード時の動作として正しい説明はどれか。
- A. AKSはノードアップグレード時にすべてのノードを同時にドレイン・再作成するため、アップグレード中はワークロードが完全に停止する
- B. AKSノードのアップグレードは手動でSSH接続して各ノードのKubeletを更新する必要がある
- C. AKSのアップグレードはコントロールプレーンのみ自動で行われ、ノードプールは変更されないため手動対応は不要
- D. AKSはサージアップグレード(maxSurge)をサポートしており、新しいバージョンのノードを追加してからワークロードを移行し古いノードを削除するローリングアップグレードが可能
解答と解説を見る
正解: D
AKSのノードプールアップグレードは「サージアップグレード」方式をサポートしており、maxSurge設定(デフォルト1)に基づいて新バージョンのノードを一定数追加(サージ)してから既存ノードのワークロードをドレイン(Cordon→Drain)して新ノードに移し、旧ノードを削除するローリング方式で実行される。これによりアップグレード中も指定数のノードが常に稼働し続け、ワークロードへの影響を最小化できる。maxSurgeを大きくすると同時並行で処理されるノード数が増え、アップグレード時間を短縮できるが一時的にコストが増加する。選択肢AはすべてのノードをAKSが同時に停止するという誤りで、ローリング方式によりワークロードは維持される。選択肢BはマネージドサービスであるAKSのノード管理は自動化されており、手動SSH更新は不要かつ非推奨。選択肢CはAKSのコントロールプレーンとノードプールは独立してアップグレードでき、ノードプールのアップグレードは自動では行われず手動またはCI/CD連携が必要。
📚 関連サービスの解説: Azure Kubernetes Service(AKS)