はじめに
GKE の Version について、表記ルール、サポート方針、リリーススケジュール、適用方法(Release Channel) など調べた内容を記載する
一般的に Kubernetes の Version は運用に占める重要度が高く、GKE ではさまざまなサポートや方針がとられているため、
運用するには理解して使用することが重要になる
GKE Version
ざっくり概要
- version 表記 : X.Y.Z-gke.N で、 X.Y.Z は Kubernetes と同じ、-gke.N の N は Google Cloud パッチ
- Release Channel : アップグレードのベストプラクティスで3種類ある。適用すると自動アプグレードになってオフにできなくなる。Regular(デフォルト)がおすすめだが、本番環境で安定性取るなら Stable もあり
- サポート期間: version が Regular Channel になってから 14ヶ月。ただし後半 2ヶ月は限定的なメンテナンス期間
Versioning scheme
Kubernetes, GKE ともにセマンティック バージョニングを参照しているが、
Kubernetes は現状セマンティックバージョニングと厳密には一致していない [We haven't so far applied a rigorous interpretation of semantic versioning]
GKE の X.Y.Z 表記箇所は Kubernetes バージョンを踏襲している
X.Y.Z-gke.N で表記され下記の意味を持つ
X.Y.Z-gke.N | 該当 | リリース頻度 | 内容 |
---|---|---|---|
X | Kubernetes メジャー バージョン | 現状, 変更予定はない | 現状、メジャーバージョン(x) は 1 であり、 2.0.0 をリリースする基準は設けられていない [currently no criteria for shipping 2.0.0] |
Y | Kubernetes のマイナー バージョン | 約 3 ヶ月ごと | マイナーバージョンについては様々な基準が設けられている (詳細) |
Z | Kubernetes パッチリリース | 毎週 | 最新のマイナーバージョンに対する重大なバグ修正を目的としており、同じマイナーバージョン内での互換性維持がされる (詳細) |
N | GKE のパッチリリース | 適宜 | Google Cloud 独自のパッチリリースで、オープンソース アップストリーム Kubernetes ソフトウェアに加えて GKE のセキュリティ アップデートやバグ修正が含まれている |
Version Schedule
GKE の最新・今後の Version については Release Schedule で確認が可能
Version Schedule は次の Release Channel に応じて記載もされている
Release Channel
GKE では Release Channel という Version と Upgrade の管理に関するベストプラクティスを提供している
- Release Cannnel
- クラスタへ適用すると、Google によりクラスタとノードプールのバージョンとアップグレードサイクルが自動的に管理される
-
Rapid
,Regular
(デフォルト),Stable
の 3種類が用意されており、Channel なし
も選択は可能 - クラスタの新規作成時には Regular Release Cannel が登録されている
- 自動アップグレードが有効化され無効化できなくなる
チャンネル | 新しい Kubernetes リリース提供 | 特性 |
---|---|---|
Rapid | アップストリーム オープンソースの一般提供から数週間 | 新しい Kubernetes 機能を提供 GKE SLA から除外されている 本番環境前の環境で新しい Kubernetes バージョンと API のテストに使用するのに最適 |
Regular (デフォルト) |
Rapid でのリリースから 2~3 か月後 | 機能の可用性とリリースの安定性のバランスが取れているため、ほとんどのユーザーにおすすめ サポートはこのバージョンから開始される |
Stable | Regular でのリリースから 2~3 か月後 | 新機能よりも安定性を優先 高優先度のアップデートのみを提供 |
本番環境への推奨 Channel
新しい機能より成熟度が重要となる本番環境のワークロードには、Regular(デフォルト)チャンネルまたは Stable チャンネルを使用することが推奨されている [参照]
- Regular
- 新機能を詳しくトラッキングする必要がある場合
- Kubernetes OSS バージョンの安定性と鮮度のバランスが保たれる
- Stable
- 要件が成熟している場合
Version Support
Kubernetes/GKE | サポート開始時 | サポート期間 | サポート詳細 |
---|---|---|---|
Kubernetes | マイナーバージョン GA | 12 ヶ月 | リリースブランチ: 最新の 3 つのマイナーバージョンが維持 パッチ: 12ヶ月 詳細: supported-versions |
GKE | Regular Channel リリース | 14 ヶ月 | クラスタ構築:リリースから6ヶ月 ノードプール構築: 12ヶ月 セキュリティパッチ:14ヶ月 (メンテナンス期間: 12 ~ 14ヶ月) 詳細: Kubernetes マイナー バージョンの GKE によるサポート期間を教えてください |
現状の Version に対するサポート期間はリリーススケジュールに記載がある
Release Note
リリースノートは下記から確認できる
おわりに
GKE の Version についてまとめてみた
基本的には Kubernetes の Version を踏襲しているが、サポート期間やリリーススケジュール等は異なり、
Upgrade に対応する Release Channel も用意されているので、いろいろ理解して利用していきたい
参考・参照リンク