Kubernetes 1.15がリリース、安定性の強化とCRDなどの機能強化が特徴2019年2度目のリリース

Kubernetesプロジェクトは2019年6月19日(米国時間)、2019年における2回目のリリースであるKubernetes 1.15の提供開始を発表した。本記事では、新バージョンを説明したブログポストの抄訳をお届けする。

» 2019年06月20日 08時00分 公開
[三木泉@IT]

 Kubernetesプロジェクトは2019年6月19日(米国時間)、2019年における2回目のリリースであるKubernetes 1.15の提供開始を発表した。Kubernetes 1.15には25の機能強化が含まれている。このうち10がα版、13がβ版、2が安定版に達したという。下に、新バージョンを説明したブログポストの抄訳をお届けする。

 同ブログポストによると、1.15リリースのメインテーマは次の2つ。

継続的改善
 プロジェクトのサステイナビリティは、機能のみから来るものではない。多数のSIGがテストにおけるカバー範囲の拡大、および中核的な機能群の信頼性、安定性、成熟度向上、バックログの解消に取り組んだ。

機能拡張性
 コミュニティは、機能拡張性の継続的なサポートを求めてきた。今回のリリースサイクルでは、Custom Resource Definition(CRD)とAPI Machineryに関するより多くの作業を含んでいる。機能拡張の大部分は、SIG API Machineryおよび関連分野から来ている。

中核的なKubernetes APIに関する機能拡張性の向上

Custom Resource DefinitionのWebhookによる変換

 CRDは1.14以降、β版として複数のバージョンをサポートしている。Kubernetes 1.15では、異なるバージョン間で即座に変換できる。 CRDの変換はWebhookを介して実装される。同機能はKubernetes 1.15でβに昇格した。

CRDプルーニング

 CRDプルーニング(「プルーニング)は「剪定」といった意味)は、Kubernetes APIに送信されたオブジェクト内の未知のフィールド(OpenAPI検証スキーマで指定されていないフィールド)を自動的に削除する機能。同機能では、CRD開発者によって指定されたデータ構造だけがetcdに永続化される。

 CRDプルーニングは、Kubernetes 1.15でβとして利用可能になった。

CRDデフォルト

 新リリースでは、CRDでデフォルト設定がサポートされる。デフォルトはOpenAPI検証スキーマに、「default」キーワードを使って指定される。デフォルトは、APIに送信されるオブジェクト内の指定されていないフィールド、およびetcdからの読み取り時に設定される。

 CRDデフォルトは、Kubernetes 1.15ではαとして利用可能。

CRD OpenAPIパブリッシング

 ネイティブ型のOpenAPI仕様はkubectlクライアント側検証、kubectl explain、およびOpenAPIベースのクライアントジェネレータなどによって利用されてきた、Kubernetes 1.15では、OpenAPIスキーマがCRD用にもパブリッシュされるようになった。同機能はβ段階。

クラスタライフサイクルの安定性とユーザビリティの向上

 SIG Cluster Lifecycleでは、Kubernetesのインストール、アップグレード、および設定をさらに堅牢にする作業に重点を置いてきた。 1.15では、高可用性ユースケースなど、ベアメタル関連ツールおよび製品対応のユーザーストーリーに関するバグ修正が優先されている。

 クラスタのライフサイクル構成を可能にするkubeadmでは。ハイアベイラビリティ(HA)機能をβ版に昇格した。ユーザーは、使い慣れた「kubeadm init」「kubeadm join」といったコマンドを使って、HAコントロールプレーンを設定しデプロイできるようになった。

 証明書管理は1.15でより堅牢になった。kubeadmは期限切れになる前にすべての証明書をシームレスに(アップグレード時に)ローテーションできるようになった。

CSIの継続的な改善

 Kubernetes v1.15で、SIG Storageはツリー内ボリュームプラグインをContainer Storage Interface(CSI)に移行する作業を継続した。 SIG Storageは、サイズ変更、インラインボリュームなど、ツリー内機能と同等の機能をCSIに持たせることに取り組んだ。また、ボリュームクローニングなど、Kubernetes Storageサブシステムにはまだ存在しないCSIにおける新たなα機能を導入した。

 ボリュームのクローン作成により、ユーザーは新しいボリュームをプロビジョニングするときに別のPVCを「データソース」として指定できる。基礎となるストレージシステムがこの機能をサポートし、CSIドライバに「CLONE_VOLUME」機能を実装すると、新しいボリュームはソースボリュームのクローンになる。

その他の注目すべき改善

  • Kubernetes CoreにおけるGoモジュールのサポート
  • クラウドプロバイダーの抽出とコード編成に関する継続的な準備。 クラウドプロバイダーのコードは、kubernetes/legacy-cloud-providerに移動した
  • Kubectlのget and describeはextensionで動作するようになった
  • ノードがサードパーティ製のモニタリングプラグインをサポートするようになった
  • スケジュールプラグイン用の新たなScheduling Frameworkがαになった
  • さまざまなユースケースに対してコンテナ内でフックコマンドをトリガーするように設計されたExecutionHook APIが、αに到達
  • extensions/v1beta1、apps/v1beta1、およびapps/v1beta2 APIの継続的な非推奨。 これらの拡張機能は1.16で廃止予定

 Kubernetes 1.15はGitHubからダウンロード可能となっている。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。