Kubernetes 1.3がリリースされた。クラスタのスケールアップとスケールダウンのサポート改善,クロスクラスタ・フェデレーションサービス(パブリッククラウドとプライベート/オンプレミスクラウド間のサポートを含む),ローカル開発ツールの改善,CoreOSのrktコンテナフォーマットのサポート,新たなOCIイメージフォーマットとCNIネットワーク標準の基礎,ステートフルアプリケーションのサポートを可能にする‘PetSet’機能のアルファ版などが含まれている。
Kubernetesのブログによると,今回のリリースには主に2つのユーザ要望機能が含まれている。クラスタ,ゾーン,クラウドバウンダリを越えたサービスのデプロイを行ないたい,とする要望と,ステートフルサービスを含む多様なワークロードをコンテナで実行したい,という要望だ。このためKubernetes 1.3では,複数のパブリッククラウド以外にオンプレミスクラウドやデータセンタのブリッジサービスも用意し,キーバリューストアやデータベースといったステートフルサービスのアルファ版サポートを統合した。
Kubernetes 1.3にはその他にも,いくつかの新機能が含まれている。
- スケールとオートメーションの向上 – アプリケーションの要求に応じて,サービスのスケールアップとスケールダウンを自動的に行なうことができる。クラスタのオートスケールアップとスケールダウンが容易になったことに加えて,クラスタ毎の最大ノード数も倍増した。
- クロスクラスタ・フェデレーションサービス – サービスを1つ以上(リモートでも可能)のクラスタに拡張した上で,クラスタの内外から統一された方法でアクセスできる。Kubernetesのブログには,クラスタ間にまたがるサービスが“高い可用性と地理的な分散を提供するとともに,ハイブリッドとマルチクラウドのシナリオを実現”する,という説明がある。クロスクラスタサービスディスカバリも導入され,サービスの一部ないし全体が他のクラスタで動作している場合でも,コンテナや外部クライアントのサービス参照を一貫性を持って解決することができる。
- ステートフルアプリケーションのアルファ版サポート – ‘ペットと家畜(pets versus cattle)’の比喩からヒントを得た‘PetSet’オブジェクトがKubernetes APIに新たに追加され,アプリケーションを「家畜」として扱う操作が可能になった。
- 再起動後もパーマネントホスト名が持続
- コンテナを越える寿命を持ち,自動的にプロビジョニングされるコンテナ毎の永続的ディスク
- クラスタリングとリーダ選択に使用される,グループ内でユニークな識別子
- クラスタ化されたアプリケーション起動には不可欠な初期化コンテナ
- ローカル開発での操作性 - Kubernetes 1.3ではMinikubeが導入された。開発者のコマンド入力ひとつで,彼らのラップトップ上に完全なKubernetesクラスタとAPIコンパチブルなローカルのKubernetesクラスタを起動するものだ。Minikubeを実行するには,VirtualBoxやVMware,KVMなどの仮想マシンを使う必要がある。このようなVMの使用は一部の開発者にとって制限となる可能性があるため,Mike Metral氏が開発したのがnanokubeだ。同じ目的のオープンソースプロジェクトだが,完全なKubernetesクラスタを実行するために,Dockerがローカルにインストールされてさえいればよい。
- rktコンテナイメージフォーマット,OCIおよびCNIコンテナ標準のサポート - Kubernetes 1.3はCNI(Container Network Interface)などの最新標準をネイティブサポートするだけでなく,まだ承認段階のOCI(Open Container Interface)に対する措置も講じられている。また,CoreOSのrktがKubernetesノードの代替コンテナランタイムとして導入されており,Kubeletとの統合性が重視されている。
- KubernetesダッシュボードUIの更新 – これまでのCLIに代えて,クラスタ操作の大部分でKubernetesオープンソースダッシュボードが使用可能になった。新しいUIでは,全リソースのワークロード(デプロイメントとPetSetを含む)の操作と編集を行なうことができる。
7月にはその他にも,いくつかのコンテナオーケストレーションプラットフォームのマイルストンリリースが公開されている – Mesos 1.0は,新たな統合HTTP APIと統合コンテナ(ネイティブランタイムを必要としないDockerおよびrktフォーマットのコンテナの実行をサポートする),CNIネットワークのサポート,セキュリティ改善,MesosとMS WIndowsの同時実行の試験的サポート,外部ストレージの追加サポートなどを備えている。またDocker 1.12 GAでは,Docker Engineの初期設定状態でDocker Swarm ‘モード’が統合されている (Swarmモードに関する新機能については,以前のInfoQアーティクルでも紹介した)。
Battery VenturesテクノロジフェローのAdrian Cockcroft氏はTwitterで,MesosやSwarm,Kubernetesといったコンテナオーケストレーションプラットフォームが共通の機能セットに収斂しつつあるのではないか,と指摘した上で,最終的な差別化要因はどうなるのだろう,と疑問を呈した。そのリプライのストリームでは,活発な議論がいくつも行なわれた。Google Cloud Platform(Kubernetesの開発元)のスタッフデベロッパアドボケートであるKelsey Hightower氏は,“とにかく動くものが欲しい”というコミュニティの立場から,オーケストレーションプラットフォームがコモディティ化すれば,“カスタマサービスのような人的要素を元に製品が選ばれることになるだろう”,と指摘している。
Kubernetes 1.3はget.k8s.ioでダウンロード可能である。公開されているソースはKubernetes Githubリポジトリから入手できる。Kubernetesのブログには,Kubernetesはオープン開発されたコミュニティプロジェクトであり,すべてのコントリビュータの協力によるものだ,と記されている。関連するGitHubリポジトリには,843のユニークコントリビュータが示されている。
この記事を評価
- 編集者評
- 編集長アクション