Rook v1.6のロードマップ
はじめに
本記事はRookと仲間たち、クラウドネイティブなストレージの Advent Calendar 2020 16日目の記事を後からこっそり埋めたものです。
2020年のアドベントカレンダーですが2021年の話をします。2021年1月15日にRook v1.6向けロードマップが更新されました。このロードマップは次のマイナーバージョン(ここではv1.6)のリリースまでに何を実現するつもりかを書き連ねたものです。絶対これを成し遂げるという強い意味を持つものではなく、実際には次のバージョンに後回しになるものも珍しくありません。本記事ではそのうちのいくつかを紹介します。
The following high level features are targeted for Rook v1.6 (March 2021).
いきなり機能の話ではないのですが、リリースは今年の3月にスケジュールされました。何日に、とはとくに書いていないです。このあたりの正確なところはいつも流動的であり、常にgithubを監視しておいてリリース作業関連のPRが出てくればそろそろだな、と思うというくらいでちょうどいいです。
Support the Ceph Pacific release
明日にでもfeature releaseを迎えるCephの新バージョンのサポートです。これについては既にPRは既にマージされています。Pacificでは各OSDへのデータをなるべく均等に分散配置してくれるbalancerという機能がデフォルトで有効になります。Rookでは新規クラスタをPacificで作った人以外、つまりOctopus(balancerがデフォルトで無効)以前からアップグレードをした人はbalancerは無効のままになりますので、使いたい人は自分で明に有効化する必要があります。このあたりはアップグレードガイドに何か書かれるかもしれません。
CephFS Mirroring support for data replication across clusters
CephFSのリモートレプリケーション機能のサポートです。完全にRookのCRDだけで完結するのか、それとも色々と手作業が必要なのかはPRが無い現在はまだまったく不明です。この機能はCephでも開発中というフェイズなので、わずか3カ月後にこれをサポートするというのはなかなか思い切った判断だと思います。
Upgrade OSDs for large clusters in parallel within failure domains
現在Rookのアップグレード時にはOSD podのコンテナはひとつづつ更新していくのですが、OSDの数が数百や数千になると環境によっては遅くてやってられなくなってきます。この問題を解決するためにOSDコンテナの更新を並列にできるようにするというのがこの機能です。PRのドラフト版は出ていますが、実際どういう形になるのかはまだ不明です。
Remove unmaintained storage providers: EdgeFS, CockroachDB, and YugabyteDB
いくつかのストレージプロバイダのコードを削除しようという話です。EdgeFSについては去年開発元より今後の開発は継続しないという方針が出ていたためコードの削除は時間の問題と考えられていましたが、CockroachDBやYugabyteDBもメンテナンスが滞りがちなこともあって削除する方針にしたようです。残念な気もしますが、メンテする人がいなければしょうがないです。これでコードはずいぶんとすっきりすることでしょう。
Clearly define maintainer expectations for storage providers
上の項目にあわせてのことで、恐らくはストレージプロバイダをマージさせたら後は放置という作り逃げのような状況を避けるために、ちゃんとメンテできるものでないとマージしない、というポリシーを作るという話なのではないかと推測します。
Complete conversion from Jenkins pipeline to GitHub actions
これまでRookのintegration testはJenkinsを使ってきましたが、これをgithub actionsに移行しようという話です。すでにmasterではgithub actionsのworkflowが元気に動いているのでいけるだろうという判断なのでしょう。
Add alpha support for COSI (Container object storage interface) with K8s 1.21
これが個人的には一番驚いたネタです。CSIでファイルシステムやブロックデバイスを提供するようにKubernetes標準のしくみでオブジェクトストレージを提供するCOSIという新しい仕組みがk8s 1.21にalpha機能として実装される見込みなのですが、早くもそれをalphaサポートしてしまおうという意欲的な試みです。非常に期待しています。
RookとCOSIについては別記事にも書いたので、そちらもあわせてごらんください。
おわりに
大がかりな機能追加はv1.5以前に比べて減ってきましたが、なかなか面白いものがいくつも並んでいて、筆者は非常に楽しめました。みなさんはいかがだったでしょうか。
Discussion