ニュース
» 2020年05月07日 10時00分 公開

Kubernetesストレージの基礎【後編】:あらゆるストレージとデータソースをコンテナ化して統合する「Rook」の魅力

Rookは、各種ストレージハードウェアやクラウドストレージ、SQLおよびNoSQLデータベースをまとめてソフトウェア定義ストレージ化する。Kubernetesユーザー注目のソリューションの魅力と課題を紹介する。

[Antony Adshead,Computer Weekly]

 コンテナがIT業界を席巻している。その魅力は抽象化にある。つまり、コンテナを使えば実行基盤からアプリケーションを切り離すことができる。

 当然、ソフトウェアにはハードウェアが必要だ。だがKubernetesなどのコンテナオーケストレーションツールを介してコンテナを使えば、オンプレミスでもクラウドでもアプリケーションを実行できる動的な環境を構築できる。コンテナとコンテナオーケストレーションツールには、自動化を活用して素早くアプリケーションを作成、管理、拡張、停止するのに必要なあらゆるものがそろっている。

 前編(Computer Weekly日本語版 4月15日号掲載)では、Kubernetesにおけるストレージの基礎を確認した。本稿では「Rook」を使ってストレージを扱うもう一つの方法を紹介する。

 RookはKubernetesクラスタからストレージのプールを作成する機能を提供し、さまざまな種類の永続ストレージをオーケストレーションする。本稿執筆時点のRookのバージョンは1.2だ。

 Rookの目的は、ハードウェアメーカーのストレージアレイやクラウドプロバイダーのストレージなどと連携することではない。理論的には任意のストレージアレイをストレージとして使えるが、本質はそこではない。ストレージアレイに投資する場合、コントローラーの価値に費用を支払うことになる。そうした価値をRookが提供するため、ストレージアレイに費用をかける意味はなくなる。

 Rookは基本的にはソフトウェア定義のコンテナ化ストレージソリューションで、ハイパーコンバージド(同じノード内に全てをまとめた)ストレージまたはハイパースケールストレージを提供することを目的とする。

 Rookは当初「Ceph」のコンテナ化と管理の手段として作成された。CephはRed Hatによって開発されたオープンソースのブロック、ファイル、オブジェクトのソフトウェア定義ストレージだ。EdgeFSをはじめとするさまざまな種類のストレージのコンテナ化にも使える。EdgeFSはオブジェクトストレージをベースとするグローバルファイルシステムだが、ブロックやファイル、「Amazon Simple Storage Service」(Amazon S3)のアクセス手法も提供する。Amazon S3互換のオブジェクトストレージサーバ「MinIO」を使っているかのように、NFS(Network File System)サーバにアクセスすることも可能だ。

 Rookは「Apache Cassandra」や「CockroachDB」(Cockroach Labs)などのNoSQLデータベース、「YugabyteDB」(Yugabyte)といったクラウドネイティブな分散SQLデータベースへのアクセスもサポートする。

 Rookはストレージクラスと参照元PVC別にグループ分けし、厳選したストレージをコンテナに配置してクラスタ管理を実現する。それにより、スケジューリング、デプロイメント、ブートストラップ、構成、拡張、負荷分散、災害復旧などのタスクを自動化する。

 Rook運用の鍵はKubernetesオペレーターにある。オペレーターはリソースを監視して、ストレージがストレージクラスの要件通り動作していることを確認する。そしてそれを確実にするためにストレージのブート、回復、クローン、保守を行う。

 クラスタでRookを使い始めるには、ストレージプロバイダーに応じた幾つかの「kubectl」コマンドを使用する。

Rookの潜在的メリット

 Rookの本質はソフトウェア定義のストレージであることだ。つまり、開発者がストレージリソースをプログラミングし、端的に言えばさまざまな種類のストレージからストレージプールを作成できる。理論上はストレージの種類やサプライヤーのサポートの有無を問わず、オンサイトやクラウドなどさまざまな場所にストレージリソースを移植して使うことが可能だ。

 コンテナ化に真剣に取り組んでみると、潜在的に全く異なるストレージインスタンスをRookでソフトウェア定義プールにコンテナ化するメリットが分かる。ストレージを垂直にも水平にも拡張できる能力、ポッドのボリュームを迅速かつ自動的にプロビジョニングする機能、障害が発生したドライブの自動回復、迅速な自動デプロイメント、リソースの有効活用などがその例だ。

考えられるデメリットと制限事項

 Rookは、コンテナが使える場所という点で制限がない。そのため理論上最適と言える。データの処理をコンテナ化する場合、そのストレージの管理にも役立つ。

 Rookの使用を検討するユーザーにとって最大の懸念は、コンテナが登場したばかりのソリューションであることだ。コンテナはまだありふれたものではなく、その活用方法の理解も、企業が活用すべきかどうかの理解も足りていない。

 Rook自体も開発から日が浅く、運用しているユーザーは多少いるものの、全ての種類のストレージがサポートされているわけではない。

 とはいえ、コンテナ化は完全に合理的な考え方だ。

Windows 10アップデート管理戦略ガイド

Windows 10は更新プログラムが頻繁に配信される。本PDFではそうした変更をITリーダーが管理する方法、累積的な更新プログラムがシステム管理者に及ぼす影響、円滑な移行のためにクラウドサービスが果たし得る役割について解説する。


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ