Question#24(Professional Cloud Developer)
あなたは GKE クラスター上でアプリケーションを実行しています。このアプリケーションにはステートレスなウェブ フロントエンドがあり、高可用性の要件があります。クラスターは自動アップグレードするように設定されており、一部のノードをドレイン(退避)させる必要があります。ノードのドレインを開始する前に、アプリケーションがポッド(Pod)の 10% のサービング容量を維持するようにする必要があります。あなたは何をすべきですか?
正解:C
Kubernetes において、ノードのアップグレードやメンテナンス(ドレイン)時に、「最低限これだけの Pod は維持してほしい」というルールを定義するのが Pod Disruption Budget (PDB) です。
なぜ C が正解なのか?
可用性の保護: PDB を設定すると、Kubernetes のコントロールプレーンは、指定された条件(この場合は 10% の Pod が稼働していること)を下回るようなノードのドレイン(Pod の削除)を一時的に阻止します。
自動アップグレードへの対応: GKE の自動アップグレードではノードが順次再起動されますが、PDB があれば、新しい Pod が準備完了(Ready)になるまで次のノードの停止を待機させることができます。
要件との一致: 問題文の「ドレイン前に 10% の容量を確保する」という要件に対し、
minAvailable: 10%は直接的な解決策となります。

コメント