本ブログで度々話題に上がるRookですが、現在Stableは0.7.1がリリースされており、まもなく大幅に機能強化された0.8がリリースされます。
バージョン0.8では次のページにあるようなダッシュボードが追加されており、別途kubectl create
すれば利用可能です。ステータス、ログ、使用率などが確認できます。
詳しくはドキュメントをご覧ください。
またCephコマンドラインツールも利用できるようになります。中身はCentOS 7にCephのコマンドラインツールがインストール済みの環境でした。
https://github.com/rook/rook/blob/master/Documentation/toolbox.mdgithub.com
ダッシュボードより、おそらくコマンドラインツールの追加の方が嬉しい機能追加だと思われます。 そのほかの機能強化点としては、OpenShiftの対応が追加された点でしょうか。
Rook 0.8リリースまでの道のりですが、以下のページを確認いただくとわかります。 グラフが伸びきったらバージョン0.8が晴れてリリースされます。
この後さらに0.9が開発されリリースされた後、1.0がリリースされてリリース版として公開されるようです。
使ってみよう
バージョン0.8は現状リリースされていませんが、手元の環境で動いたバージョンをセットアップする手順をここにまとめたいと思います。利用した上でバグを見つけたら、本家に報告してください。
今回はmasterブランチのソースを利用します。最後にコミットを指定して切り替えていますが、このコミットIDは私が最後に動作確認しているものです。手元のKubernetes 1.10環境(私専用)では、正常に動いています。
なお、最新のKubernetes 1.11では動作しない可能性があります。最新のコミットを追っかけてみてください。
% git clone https://github.com/rook/rook.git % cd rook % git checkout 41829b1456fbad6831530c70b68e445d1a969bf8
この記事を執筆している現在Rook 0.8はリリースされていませんが、リリース後は上記の方法ではなく次のようにブランチを指定してください。
% git clone -b release-0.8 https://github.com/rook/rook.git
該当のソースをダウンロードしたら、あとはデプロイするだけです。Kubernets 1.7以降が要件です。
デプロイ後、コマンドラインツールが必要なら以下を追加し、
https://github.com/rook/rook/blob/master/Documentation/toolbox.mdgithub.com
Cephダッシュボードが必要であれば以下を参考に追加します。
Cephをデプロイした場合のストレージクラス名がrook-blockからrook-ceph-blockに変わっているようです。YAMLに記述する場合、注意が必要です。
また、デフォルトストレージを設定する場合も次のようにストレージクラス名を指定しましょう。
% kubectl patch storageclass rook-ceph-block -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'