gke-cluster-lifecycle について
gke-cluster-lifecycleは、Google Kubernetes Engine(GKE)クラスターを運用する人向けのライフサイクル管理スキルです。リリースチャネル、アップグレード時のノード容量調整、ブルーグリーン方式のノードプール移行を扱います。
主な機能
- 01GKEリリースチャネルの選択
- 02サージアップグレードの設定
- 03ブルーグリーン方式のノードプール更新
- 04メンテナンスウィンドウの設定
- 05非本番環境でのアップグレードテスト
活用シーン
- 01本番クラスターの更新頻度の選定
- 02アップグレード中のノード停止の抑制
- 03高リスク更新に伴うワークロード移行
- 04本番適用前のクラスター更新検証
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ googlecloudplatform/ gke-mcp --skill gke-cluster-lifecycleインストール後、Claude Code で/gke-cluster-lifecycleを入力して読み込まれたか確認します。
詳細
GKE クラスターのライフサイクルとアップグレード
このスキルでは、Google Kubernetes Engine(GKE)クラスターのライフサイクルとアップグレードを管理する方法を説明します。
概要
クラスターのアップグレード管理は、セキュリティの確保と新機能の利用に不可欠です。GKE ではアップグレードが自動化されていますが、影響を最小限に抑えるための設定が必要です。
ワークフロー
1. リリースチャネルを選択する
リリースチャネルを使うと、安定性と機能の利用可能性のバランスを選択できます。
- Rapid:最新の機能を利用できますが、テストは比較的少なめです。
- Regular(デフォルト):バランスに優れています。
- Stable:最も十分にテストされており、重要な本番ワークロードに最適です。
リリースチャネルを設定するコマンド:
gcloud container clusters update <cluster-name> \
--release-channel=stable \
--region <region>
2. サージアップグレードを設定する
サージアップグレードでは、アップグレード中に目標サイズを超えて作成できるノード数を指定できるため、影響を最小限に抑えられます。
設定例:
gcloud container node-pools update <pool-name> \
--cluster=<cluster-name> \
--max-surge-upgrade=2 \
--max-unavailable-upgrade=0 \
--region <region>
max-unavailable-upgrade=0を設定すると、新しいノードの準備が整う前にノードがオフラインになることはありません。
3. ブルー/グリーン方式でノードプールをアップグレードする
リスクの高いアップグレードでは、新しいバージョンを使用する新しいノードプール(Green)を作成してテストした後、古いノードプール(Blue)からワークロードを移行できます。
手順:
- 新しいバージョンと適切なテイントを設定した新しいノードプールを作成します(--node-taints を使用)。
- 古いノードプールを徐々にコルドンし、ドレインします。
- 空になったら古いノードプールを削除します。
ベストプラクティス
- リリースチャネルを使用する:本番クラスターは必ずリリースチャネル(できれば
StableまたはRegular)に登録します。 - サージアップグレードを設定する:アップグレード中の可用性を確保するため、
max-surge-upgradeを使用します。 - メンテナンス時間枠を使用する:アップグレードがオフピーク時間帯にのみ行われるよう、メンテナンス時間枠を設定します(gke-reliabilityを参照)。
- 本番環境以外でテストする:本番環境に適用する前に、必ずステージング環境でアップグレードをテストします。
コメント
Markdown 対応