Kubernetesプロジェクトは2020年8月26日(米国時間)、Kubernetesの新バージョン1.19をリリースした。1.18から20週間という、Kubernetesプロジェクトとしては最長のリリースサイクルとなった。今回は新機能以外に、サポート期間の延長やβ段階の機能の扱いの変更が見られる。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Kubernetesプロジェクトは2020年8月26日(米国時間)、Kubernetesの新バージョン1.19をリリースした。2020年における第2回目のリリースであり、COVID-19や「ブラック・ライブズ・マター」運動の影響で、1.18から20週間という、Kubernetesプロジェクトとしては最長のリリースサイクルとなった。今回は新機能以外に、サポート期間の延長やβ段階の機能の扱いの変更が見られる。
これまでのKubernetesリリースでは、マイナーアップデートは9か月後まで提供されていた。すなわち、2020年8月末にリリースされたバージョン1.19であれば、1.19.xは2021年5月末まで提供される計算だ。だが、1.19リリースからは、1年後までマイナーアップデートが継続される。このため、1.19のマイナーアップデートは、実際には2021年8月末まで提供されることになる。
Kubernetesプロジェクトにおける各機能は、成熟度に応じて「α」「β」「Stable(GA)」の3段階に分類される。α段階の機能は通常、デフォルトで無効になっている。一方β段階に達してしまえば、デフォルトで有効化される。このため、βに達した機能の開発に関わっている人々が、Stableへの移行を急ぐインセンティブが働きにくいとされる。例えば後述のIngressは2015年からβのままだったという(リリース1.19でStableに移行した)。
そこで今回から、β段階に達したREST APIを対象に、自動で「デプリケート(deprecate:非推奨)」する機能を導入した。あるREST APIがβに達すると、付与されるタグに基づいて、その後9か月が経過後にこのAPIが自動的にデプリケートとなる。デプリケートされたAPIをユーザーが使っていると警告を発するメカニズムは、リリース1.19でβ段階に達したという。デプリケートの対象となってからさらに9カ月が経過したAPIは、自動的に削除される。対象APIは、9カ月が経過する前にStableへ移行するか、それができなかった場合は新たなバージョンを出し、それまでのβはデプリケートしなければならない。なお、この新たな仕組みは、REST APIのみに適用される。
外部からのKubernetesクラスタ内へのアクセスを制御するIngressがStable、つまりGAに達した。Kubernetesプロジェクトのブログポストは、これについて興味深い表現をしている。
「このAPIは非常に長期にわたって提供されており、(ユーザーおよび、負荷分散/Ingressコントローラー製品ベンダーによる)幅広い利用や採用を通じ、事実上のGAステータスを獲得している。これを完全な代替なしに破棄することは現実的でない。明らかに有用なAPIであり、有益なユースケースをつかんでいる。現時点では、現状のAPIを、コミュニティーがV1としてサポートするものとして宣言することで、そのステータスを明確化する一方で、V2のIngress APIを開発するか、(現状のIngressの)機能のスーパーセットを備えた完全に異なるAPIの開発を進めるのが、より賢明だと考えられる」
Copyright © ITmedia, Inc. All Rights Reserved.