バージョニングとアップグレード

このページでは、Google Kubernetes Engine のバージョニングと自動アップグレードについて説明します。

ロールアウト スケジュール

GKE は、予測可能な複数日のロールアウト スケジュールに従って、新規バージョンの提供や、クラスタのマスターとノードの自動アップグレードを行います。通常、ロールアウトの期間は 4 日以上になります。それには、問題の観察とモニタリングのためのバッファ時間も含まれます。ゾーンとリージョンは、予測可能な順序で更新されます。

利用可能なゾーン 利用可能なリージョン
1 日目 europe-west2-aus-east1-d europe-west3us-east1
2 日目 asia-east1-aasia-east2-casia-northeast1-aasia-northeast2-casia-south1-aasia-southeast1-aaustralia-southeast1-aeurope-north1-ceurope-west1-ceurope-west3-aeurope-west4-aeurope-west6-cnorthamerica-northeast1-csouthamerica-east1-aus-central1-bus-east4-bus-west1-aus-west2-c asia-east1asia-southeast1europe-west6northamerica-northeast1us-east4us-west2
一時停止 なし なし
3 日目 asia-east1-casia-east2-basia-northeast1-basia-northeast2-basia-south1-basia-southeast1-baustralia-southeast1-beurope-north1-beurope-west1-beurope-west2-beurope-west3-beurope-west4-ceurope-west6-bnorthamerica-northeast1-bsouthamerica-east1-bus-central1-fus-east1-cus-east4-cus-west1-bus-west2-b asia-east2asia-northeast1australia-southeast1europe-west1europe-west2southamerica-east1us-west1
4 日目 asia-east1-basia-east2-aasia-northeast1-casia-northeast2-aasia-south1-casia-southeast1-caustralia-southeast1-ceurope-north1-aeurope-west1-deurope-west2-ceurope-west3-ceurope-west4-beurope-west6-anorthamerica-northeast1-asouthamerica-east1-cus-central1-aus-central1-cus-east1-bus-east4-aus-west1-cus-west2-a asia-northeast2asia-south1europe-north1europe-west4us-central1

バージョニング

GKE クラスタでは、対応するマイナー リリースの Kubernetes バージョンの実行がサポートされます。マイナー バージョンは、任意の時点で少なくとも 2 つ(通常 3 つ)利用できます。ただし、その後の中間リリースでは、新規クラスタで使用可能なバージョンが異なる可能性があります。

バージョニング体系

マイナー バージョン(1.X)
Kubernetes の新しいマイナー バージョンは、約 3 か月ごとにリリースされます。マイナー バージョンでは Kubernetes のバージョン番号が 1.X から 1.X+1 に増えます。たとえば、Kubernetes 1.10 は Kubernetes 1.9 の次のマイナー リリースです。
パッチリリース(1.X.Y)
通常、GKE で使用される新しい Kubernetes のパッチリリース(1.9.7 など)は、毎週提供されます。パッチリリースは、各コンピューティング ゾーンに段階的にロールアウトされ、ロールアウト スケジュールは GKE のリリースノートで公開されます。
セキュリティ更新とバグ修正(1.X.Y-gke.N)
-gke.N の接尾辞が付いたパッチリリース(1.9.7-gke.N など)には、オープンソース アップストリーム Kubernetes ソフトウェアに加えて GKE のセキュリティ更新やバグ修正が含まれています。こうした更新や修正は、Google Cloud Platform との互換性と相互運用性の確保に必要です。

利用可能なバージョンとデフォルト バージョンの確認

特定のゾーンにおける Kubernetes の利用可能なバージョンとデフォルト バージョンは、Google Cloud Platform Console または gcloud コマンドライン ツールを使用して確認できます。

gcloud

利用可能なバージョンとデフォルト バージョンを確認するには、次のコマンドを実行します。

gcloud container get-server-config --zone [COMPUTE_ZONE]

ここで、[COMPUTE_ZONE] はクラスタのコンピューティング ゾーンus-central1-a など)です。

Console

利用可能なバージョンとデフォルト バージョンを確認するには、次の操作を行います。

  1. GCP Console の GKE メニューに移動します。

    GKE メニューに移動

  2. [クラスタを作成] をクリックします。

  3. [マスターのバージョン] プルダウン メニューをクリックします。現在利用可能なすべてのバージョンが一覧表示されます。デフォルト バージョンが自動的に選択されています。

  4. [ノードプール] のデフォルトのプールで、[高度な編集] をクリックします。

  5. [ノードのバージョン] プルダウン メニューをクリックします。現在利用可能なすべてのバージョンが一覧表示されます。ノードのデフォルト バージョンは、クラスタ マスターの現在のデフォルト バージョンと一致します。

予定されていた提供バージョンが提供されない場合は、クラスタのゾーンまたはリージョンのロールアウト スケジュールを確認します。

クラスタ バージョンの指定

gcloud を使用してクラスタを作成またはアップグレードする際に --cluster-version フラグを使用すると、クラスタのバージョンを指定できます。特定のバージョン(1.9.7-gke.N など)を使用できます。また、次のようなバージョンのエイリアスを使用することもできます。

  • latest: クラスタのゾーンまたはリージョンの GKE で現在利用可能な、サポートされている Kubernetes バージョンのうち最も番号が大きいもの。
  • 1.X: 1.X マイナー バージョンのうち、有効な patch+gke.N のパッチリリースで最も番号が大きいもの。
  • 1.X.Y: 1.X.Y パッチリリースのうち、有効な gke.N パッチで最も番号が大きいもの。
  • -: クラスタのマスターの場合は、マスターのデフォルトの Kubernetes バージョン。ノードのアップグレードの場合は、クラスタ マスターが実行しているバージョン。

バージョンに latest を指定してクラスタを作成またはアップグレードしても、自動アップグレードは行われません。クラスタ内のノードが常に最新の安定バージョンとなるようにするには、ノードの自動アップグレードを有効にします。

ノード バージョンの指定

ノードプールを作成またはアップグレードする際に、ノードプールのバージョンを指定できます。デフォルトでは、ノードはマスターと同じ GKE バージョンを実行します。ノードでは、マスター バージョンの 2 つ前のマイナー バージョンよりも古いバージョンを実行できません。

まれなケースとして、クラスタのバージョンが利用できなくなってもノードのバージョンを使用できる場合があります。

アップグレード

新しい GKE クラスタはデフォルト バージョン、つまり最近の Kubernetes のマイナー バージョンまたはパッチリリースの安定リリースで作成されます。デフォルトより新しいバージョンも、週単位で一般提供されています。

クラスタ マスター バージョンの自動アップグレード

GKE チームは定期的にお客様のクラスタ マスターの自動アップグレードを実施しています。クラスタ マスターは、新しい安定バージョンの Kubernetes にアップグレードされます。通常、自動アップグレードは、数週間にわたって段階的に実施されます。

手動でマスターのアップグレードを開始して、デフォルトより新しいバージョンにすることもできます。

ノードのバージョンの自動アップグレード

GCP Console で作成したノードは、デフォルトで自動的にアップグレードされますgcloud コマンドライン ツールまたは GKE API で作成したノードを自動的にアップグレードする場合は、ノードの自動アップグレードを有効にします。

GKE ノードのバージョンを選択する際は、次の点を考慮してください。

  • ノードでは現在利用可能なバージョンを実行する必要があります。
  • ノードでは、クラスタの現在のマスター バージョンより新しいバージョンを実行できません。
  • ノードでは、マスター バージョンの 2 つ前のマイナー バージョンより古いバージョンを実行できません。