「Kubernetes 1.6」リリース、スケーラビリティやアクセスコントロール機能の強化が行われる

 Kubernetes開発チームは3月28日、Dockerコンテナ管理ソフトウェアの最新版「Kubernetes 1.6」を公開した。拡張性と自動化にフォーカスした機能強化が加わっている。

 KubernetesはGoogleが開発するDockerコンテナ管理ツール。コンテナ化されたアプリケーションの実装、拡張、管理を自動化し、容易にコンテナクラスタの構築や管理、運用を行える。コンテナに独自のIPアドレス(コンテナグループにはDNSネーム)を付与することからサービスの発見とロードバランスが容易になるほか、ストレージサービスとの連携機能、バッチとCIワークロードの管理など多様な機能を備える。現在、Linux Foundation傘下のオープンソースプロジェクトとして開発が進められている。

 Kubernetes 1.6は、2016年末に公開されたバージョン1.5に続く最新版。約275人の開発者から5000以上のコミットがあったという。拡張性と自動化にフォーカスしており、クラスタ上で複数のワークロードを複数のユーザーに実装するための機能を強化した。

 サポートするクラスタの数を5000(15万pod)に拡大した。また、federationを利用することで、複数のKubernetesクラスタを組み合わせて単一のAPIエンドポイントで管理できるという。クラスタフェデレーションを管理するコマンドラインツールkubefedがベータに昇格した。

 セキュリティと設定では、役割ベースのアクセスコントロール(Role-based Access Control:RBAC)とRBACに関連するツールkubeadmがベータ扱いとなった。RBACは特定のユーザーやサービスアカウントに特定のリソースへのアクセスを細かく調整できるもので、kubeadmは物理またはクラウドサーバー上でのクラスタプロビジョンを簡単に行うツール。

 スケジューリング関連機能も強化され、ノードのラベルに応じて一部のノードでpodsが動作するように制限する機能であるNode Affinity/Anti-Affinityがベータ機能となった。ビルドインまたはカスタムのノードラベルを使って特定のゾーン、ホスト名、ハードウェアアーキテクチャ、OSのバージョンなどの条件を選択できる。柔軟性も強化し、カスタムのスケジューラーを並行して利用したり、デフォルトのスケジューラーの代わりに使用できるようになった。

 StorageClassとダイナミックボリュームプロビジョニング機能は安定扱いとなり、ストレージをオンデマンドで作成したり削除できるようになった。1.6ではまた、Amazon Web Services(AWS)、Microsoft Azure、Google Cloud Platform(GCP)、OpenStack、VMware vSphere向けのStorageClassオブジェクトをデフォルトでプリインストールする。

 コンテナランタイムインターフェイスではDocker CRI実装がベータ扱いとなり、kubeletではデフォルトで有効となった。cri-o、frakti、rktなどのランタイムについてもアルファとshてサポートし、実装されている。デフォルトのAPIサーバー向けバックエンドストレージがetcd v3にアップグレードされた。デーモン設定も新しくなり、ローリングアップデートが可能となった。

Kubernetes
https://kubernetes.io/