Hatでストレージを中心にクラウドインフラを生業にしている宇都宮です。今回から、Kubernetes(k8s)におけるストレージという狭ーいちょびっと深ーい話を連続で紹介します。Volume(PV)という無敵に素敵なストレージ抽象化の仕組みがあります。アプリケーションからボリュームを使えるようにする辺りの処理に関してはほとんど考えなくて大丈夫。バックエンドのストレージ自身はどうあるべきか?みたいな話って、あんまりされないんじゃないかなって思ってます。driverやpluginがあって、既存の外部ストレージをそのままPVとして使えるから。実際には外部ストレージによってできる事できない事は色々ありますが、「今あるストレージが使えるんなら基本それでええやん」ってなる事情が多いんじゃないかなと。世の中には「バックエンドストレージもk8s上で動かそうや」というとんがった考え方もあるんです。Storage"とか呼ばれたりします。これはk8s上でPodとしてSDSを動かすんですが、まじめにPodでSDSをデプロイしたり運用したりするのは、冗長性とかデータインテグリティとか拡張性とか、色々考えなきゃならなくて結構大変。Storageの運用構築をサポートするためのツールが生み出されてるんですね。Storage専用ツールですよ。狭くてステキ!とがり過ぎ!キレッキレ!というわけで、今日も前置き長くなりましたが、k8sやOpenShiftでSDSをオーケストレートするツールを紹介します。デカいねロゴがRookってなにRookは一言で言えば、k8s向けのストレージオーケストレーターです。Rookを使うことでk8s上にCephやEdgeFSなどのSDSを複数のPodとして起動して冗長化されたストレージ構成を作ることができます。ここまでだと普通のインストーラーなんですが、Rookは運用まで自動化してお手伝いしてくれるんです。これについてはまた後ほど。ご多分に漏れず、Rookはオープンソースソフトウェアです。ポータルサイトのrook.ioから様々な情報を調べることができます。githubにリポジトリが公開されていて、誰でもお気軽に使えるし、開発に参加できます。github.comOperatorとして自律的なストレージを提供Rookはオーケストレーターというだけあって、ありとあらゆる事に目を配って面倒みてくれます。ストレージを実現します。nodeをブスッと追加するだけで、自動的にババババっとストレージをスケールアウトして拡張してくれます。apply一発で、全Podのコンテナイメージをチャチャッと順繰りにアップグレードしてくれます。なんでこんなことができるのかと言うと、RookがOperatorとして動くからです。厳密にはRookが面倒をみられるSDSごとにOperatorがあって、それによってできることは違うんですが、いずれにせよSDSの運用のプラクティスをOperatorとして実装することで自動的な運用を実現しているのです。OperatorはすでにOperatorHubに登録されていまーす。Rookが対応するSDSRookも人の子ですので、世の中にあまねく存在するSDSの面倒をみられるわけではありません。Rookが対応できるSDSは、今日の時点で次の6つです。https://github.com/rook/rook/blob/master/README.mdSDS以外にもDBとかNFSとかも対応するんですね。いうか注意してもらいたいのが、Statusのカラムですよ。Storageの違い最初に書いた通り、外部ストレージでもPVを提供できるのであえてCloud-Nativeなストレージにしなくてもいいじゃんっていう意見はあると思います。うん、過去の投資を最大限活用するのは大事だし、一理ある。Storageにはもちろんメリットがあって、それを認識するポイントは『ストレージをアプリにストレージサービスを提供するインフラアプリとして捉える』というとこかなと思います。パブリッククラウド問わず、同じユーザーエクスペリエンス(使用感)を提供できるSDSのコピーサービスを使うことでクラウド間のデータコピーやマイグレーションがしやすい一般的にこんなメリットが考えられます。ユーザーさんごとに事情が違うから、納得してくれる人も居れば嘘くせーと思う人も居ると思います。僕だって別の立場だったら正直ちょっと胡散臭いと感じるかも。いうかこんな能書きだけで良さを感じてもらうのはやっぱね、なかなか難しいでしょう。ここはエンジニアブログなんだから。てめぇの力で勝ち取ってみろコノヤローってね。いうわけで次回第2話からは実際にRookを入れてみて使いながらRookのいいとこを紹介していきまーす。各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。