Kubernetes 1.10がリリース。コンテナストレージインターフェイスがβ版に、GPUなどをサポート可能にするデバイスプラグインも
コンテナオーケストレーションツールの事実上の標準となったKubernetesの開発チームは、「Kubernetes 1.10」のリリースを発表しました。
コンテナストレージインターフェイスが策定される意義とは?
前バージョンではアルファ版として公開されたContainer Storage Interface(CSI)は、今回のバージョンでベータ版となりました。
CSIは個々のコンテナではなくオーケストレーションツールであるKubernetesがストレージボリュームに対するインターフェイスを持ち、コンテナに対してストレージを提供する機能を実現するというものです。
これは個々のコンテナがストレージを管理すると、万が一そのコンテナが停止したときに別のコンテナにストレージをフェイルオーバーすることが難しくなるため、個々のコンテナではなくクラスタに対してストレージを提供するべきであり、そのためにはオーケストレーションツールであるKubernetesでストレージを管理した方がよい、という考え方によって開発されています。
そしてCSIはKubernetesだけでなく、Mesos、Docker、Cloud Foundryなど複数のコンテナ関連ツールのメンバーが協力して仕様を策定しているため、これらのツールでも共通したストレージAPI仕様になります(おそらく実装も近いものになるのではないでしょうか)。
この共通仕様の最大の利点は、ストレージベンダはCSIに対応したプラグインを開発すれば、それがKubernetesだけでなくほかのコンテナ関連ツールでもそのまま使えるところにあります。これにより、CSIに対応した多様なストレージボリュームプラグインが開発されることが期待できるでしょう。
CSIのAPI経由でできることは下記とされています。
- ボリュームの動的なプロビジョニング、デプロビジョニング
- ノードからボリュームのアタッチ、デタッチ
- ノードからボリュームのマウント、アンマウント
- ブロックストレージ、マウント可能なボリュームの利用
- ローカルストレージプロバイダ(デバイスマッパ、論理ボリュームマネージャ)などの利用
ネットワークを経由しないローカルストレージをKubernetesのストレージとするDurable (non-shared) local storage management機能もβとなりました。
デバイスプラグインもベータ版に
Kubernetes 1.10では、Kubernetesのコアコードを変更することなくKubernetesで新しいデバイスをサポートするためのDevice Pluginもベータ版となりました。例えばKubernetesにGPUデバイスを対応させるような、新たなデバイスのサポートがプラグインで可能になります。
あわせて読みたい
「TensorFlow.js」公開、Webブラウザ上で機械学習の開発、学習、実行が可能に。WebGL経由でGPUも活用
≪前の記事
[速報]複数の業務アプリケーションデータをマッシュアップするクラウドサービス「Salesforce Integration Cloud」発表