GKE、Standard CPUノードプールでVM削除なしのインプレースアップグレードに対応
概要 Google Kubernetes Engine(GKE)は10月16日、Standard CPUノードプールにおけるインプレースアップグレードの提供を発表した。従来、GKEのノードアップグレードはCompute Engine VMを削除して新規VMを作成する方式が基本だったが、新方式では既存のVMをそのまま更新する。これにより、アップグレード中もノードの計算容量が維持され、VM再作成に伴うアップグレードの失敗やノードのスタール(停止)、リソース不足によるトラブルのリスクを低減できる。 技術的な詳細 インプレースアップグレードは、ノードプールの「surge upgrade」設定においてmaxUnavailableフィールドを0より大きい値に設定することで有効になる。これはすべてのGKEバージョンに適用される変更で、ユーザー側で新たな機能フラグを明示的に有効化する操作は不要とみられる。対象はStandard CPUノードプールであり、GPUやTPUを利用するノードプールについては今回のリリースノートでは言及されていない。 従来のVM削除・再作成方式では、アップグレードのたびにインスタンスがゾーンのリソース在庫に依存して再スケジュールされるため、ゾーンのキャパシティ不足時にアップグレードが失敗したり、ノードの入れ替えが完了しないままクラスタの処理能力が一時的に低下したりするケースがあった。インプレース方式はVMそのものを維持するため、こうしたキャパシティ依存のリスクを構造的に回避できる点が特徴だ。 影響と展望 この挙動変更を望まないユーザー向けには、Cloud Customer Careへ連絡することでオプトアウトできる経路も用意されている。大規模クラスタやリソースが逼迫しがちなリージョンを運用するチームにとっては、アップグレード時の容量確保の不確実性が減ることで、メンテナンスウィンドウの計画や自動アップグレードポリシーの運用がより安定しやすくなりそうだ。GPU/TPUノードプールへの対応拡大や、今回の変更に伴う挙動の違いについては、今後のリリースノートの更新を注視する必要がある。