ストレージオーケストレーターRook 0080 OCSの中のNooBaa(前半)

f:id:ututaq:20191214164857g:plain

この記事は赤帽エンジニア Advent Calendar 2019 - Qiita15日目の記事です。

こんにちは、レッドハットでストレージを中心にクラウドインフラを生業にしている宇都宮です。
そして引き続きRookとOpenShift Japan CommunityのTwitterアカウント、@japan_rook@openshiftjpのフォローお願いしまっす。 今日はストレージオーケストレーターRookのスピンオフで、OpenShift Container Storageのお話しをします。

OpenShift Container Storage

OpenShiftは永続的なストレージを必要とします。一般的にストレージが利用されるのは次のような用途です。

  • ステートフル・アプリケーションのPersistent Volume
  • OpenShiftのインフラサービス(Registry, Metrics, Loggingなど)

OpenShiftでは様々なストレージがサポートされますが、ストレージがあるのは基本的にはOpenShiftの外側です。
OpenShift Container Storage(OCS)は、OpenShift上のアプリケーションとしてストレージを構成し、他のアプリケーションに対してストレージサービスを提供できるようにするソフトウェアです。いわゆるCloud(Container) Native Storageです。

OCSは上記の用途の両方にストレージを提供できるので、他のストレージと組み合わせて使う必要はありません。OCSがあれば充分です。
またOCSはオンプレ・クラウドを問わずOpenShiftがあればどんなプラットフォームでも稼働できるし、運用管理もOpenShift上で統合できるのでとっても便利です。

OCSの要素

実はOCSはこれまでにもありました。これまでのOCSはRed Hat Gluster StorageをベースにしたOpenShift 3でのみ使えるものでした。OCS 3と呼ばれます。

OpenShift 4で使えるOCSはOCS 4と呼ばれ、これまでとはガラリと変わって次の技術をベースとしています。

  • Ceph
  • Rook
  • NooBaa

これらの技術を使って、ブロック・ファイル・オブジェクト3種類の形態のストレージを提供します。

f:id:ututaq:20191215075904p:plain

CephとRookについてはストレージオーケストレーターRookの記事を読んで貰えればなんとなくわかると思うので、ここではNooBaaについて軽く紹介します。

NooBaa : Multi-Cloud Gateway

NooBaaは2018年にRed Hatが買収したデータ管理の企業およびテクノロジーです。
NooBaaは複数のクラウドに存在するオブジェクトストレージを仮想的に集約し、アプリケーションからはクラウドを意識することなく単一のエンドポイントから利用できるようになります。NooBaa Multi-Cloud Gateway(MCG)と呼ばれます。
MCGはオブジェクトストレージをBucket単位で管理します。アプリケーションにBucketを提供しながら、管理下のBucket間でオブジェクトをミラーリングしたりマイグレーションしたりすることもできます。

f:id:ututaq:20191215081153p:plain

OCSにはこのNooBaa MCGの機能が含まれています。
Rook-Cephで作るオブジェクトストレージはもちろん、S3やBlob Storageなど一般的なS3互換のオブジェクトストレージサービスとも背後で繋げることで、アプリケーションに対してまるでローカルに大きなオブジェクトストレージがあるような形でBucketを提供することができます。

まとめ

OCS 4とNooBaaの簡単な紹介をしました。実はまだOCS 4はGAされていません。あともう少しでGAとなる予定です。

NooBaaが具体的にどんな感じで動くのかイメージは、OpenShift Advent Calendar 17日目のエントリーで紹介する予定です。 qiita.com

というわけで今日はここまで。

* 各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。