Japan Rook Meetup#1の開催報告

この記事は「[RookだらけのAdvent Calender](https://qiita.com/advent-calendar/2019/rook)」9日目の記事です。
このAdvent Calenderは3名での執筆を予定しており、[8日目](http://ututaq.hatenablog.com/entry/rook/08)まではうつぼさんが担当し、**Rook-Ceph**について書いて頂きました。

今日から12/15までの7日間、私@tzkobaが担当して色々とRookに関する情報を投稿していきたいと思います。

9日目は本日行われた、[Japan Rook Meetup #1](https://rook.connpass.com/event/152741/)の開催報告になります。
<font color="red">**参加者は99名！**</font>ありがとうございました。

# Japan Rook Meetupの開催経緯
私は過去にPostgreSQL+Rookという構成の検証を含めた発表を、Cloud Native Days Tokyo 2019で行っています。そのセッション後にうつぼさんにご挨拶頂きました。

それから時は流れ、今年9月に**Rook v1.1**がリリースされます。（リリース時の公式ブログは[こちら](https://blog.rook.io/rook-v1-1-accelerating-storage-providers-5b9e8d5901d8)）

私もすぐには試すことができなかったのですが、色々と新機能が増えていることに気づき、こんな他人任せなツイートをしています。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">これ、Rook v1.1の新機能だけでごっついmeetup出来るんじゃね？<br>- PVC-based mon/osd<br>- Bucket Provisioning<br>- YugaByte DB<a href="https://twitter.com/japan_rook?ref_src=twsrc%5Etfw">@japan_rook</a> さんとか赤い帽子のUさんとかに言ってみよう。</p>&mdash; こば（右）アイコン変えたぞう。 (@tzkb) <a href="https://twitter.com/tzkb/status/1180100908417347585?ref_src=twsrc%5Etfw">October 4, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

日時を決める中で、私から日本でRookといえばサイボウズのSatさんに是非お話を伺いたいと思い、同じスレッドでメンションしてしまいます（今思えばムチャクチャだ。。。）。
Satさんからもすぐに「ぜひやらせてください！」との有難い回答があり、ここで開催が決まりました。

また、このやり取りに興味を示して頂いたnwiizoさん（もしかしたら聴講したいだけだったかも）も巻き込んで、スピーカーが決定しました。

話す内容の調整もTwitter上で行われ、以下の内容に落ち着きました。

- Satさん：「Ceph OSD on PVC」
- nwiizoさん：「Rook Operator」
- うつぼさん：「Bucket Provisioning」
- tzkoba：「YugaByte DB」

# 当日の発表内容
まず、Red Hatの小杉様よりRook 101で概要の解説を頂きました。
その後、4名の登壇者がRook v1.1を中心に様々な機能の解説を行いました。

当日のTwitterの様子は @yassan168 さんが[Togetter](https://togetter.com/li/1441047)にまとめてくれています。

## 「Rook Operator」 by nwiizoさん
※発表資料は[こちら](https://speakerdeck.com/nwiizo/rook-operator-survey-and-short-dive-rook-operator)。

nwiizoさんには、Kubernetes Operatorとして実装されているRookがどのように動いているのかを基礎的なところから解説して頂きました。
過去にKubernetes Meetupなどで発表があったOperatorやCSIの詳細な仕組みから丁寧におさらいしており、Kubernetesに普段触れていない方々にも分かりやすい内容だったと思います。

また、後半では**Rook-Ceph-Operator**を導入し、CRDからCephClusterをつくる流れが解説されました。[Quick Start](https://rook.io/docs/rook/v1.1/ceph-quickstart.html)に従って実行するとYAMLを3つApplyするだけなのですが、中身はこのようになっているんだと学びが多かったと思います。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Rook/Cephのインストールの流れをここまで解説してくれる資料は、私も見たことない。すごい。やれば分かるけど、逆にやらないとここまで分からない。 <a href="https://twitter.com/hashtag/japanrook?src=hash&amp;ref_src=twsrc%5Etfw">#japanrook</a></p>&mdash; こば（右）アイコン変えたぞう。 (@tzkb) <a href="https://twitter.com/tzkb/status/1203989780272271360?ref_src=twsrc%5Etfw">December 9, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

私もcanaryなどは知らなかったので勉強になりました。

## 「Ceph OSD on PVCの実践」 by Satさん
※発表資料は[こちら](https://speakerdeck.com/sat/ceph-osd-on-pvc-in-practice)。

お次はSatさん。
Rook v1.1からの新機能、Ceph OSD on PVCとその周辺の技術について解説をして頂きました。

これは、、、、<font color="red">**本当に凄かった**</font>。

実際にNecoプロジェクトで発生する、Rook（Kubernetes）とCephの問題を自社での開発とアップストリームへのマージなど、OSSとして真っ当な手段で一つ一つ解決していく姿には驚嘆しました。
会場にいらしてたCephガチ勢の皆さまにも楽しんで頂けたと思います。

私の雑なメンションから登壇頂き、このような発表をしていただいたことに感謝しきりです。第二回以降でも更なるプロジェクトの進行状況を共有頂ければ、皆喜びますし、更にサイボウズファンを増やすことに繋がりそうだなと思いました。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Rook本体にPR通して対応していくのは本当に腕力がすごい <a href="https://twitter.com/hashtag/japanrook?src=hash&amp;ref_src=twsrc%5Etfw">#japanrook</a></p>&mdash; tommy (@ques0942) <a href="https://twitter.com/ques0942/status/1203995249699196928?ref_src=twsrc%5Etfw">December 9, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

本当にこれですよね。脱帽です。


## 「ゼロから始めるRook-Ceph Bucket Provisioning」 by うつぼさん
※発表資料は[こちら](https://speakerdeck.com/tutsunom/zerokarashi-meru-rook-ceph-object-bucket-provisioning)。

なんと個人で@japan_rook のTwitterアカウントを取ってしまった、うつぼさんによるBucket Provisioningのお話でした。

Cephはブロック、ファイル、オブジェクトのインターフェースを提供しますが、そのうちオブジェクトはRGWがインターフェースとなります。この部分でObjectStoreやBucketを作る仕組みを、KubernetesのStorageClassとPVCでの利用感に近づけようというのが今回のBucket Provisioningのゴールだったようです。

後半では利用時の課題と使用感をデモを交えて説明して頂きました。
なんか凄い簡単？？と思ってしまったので、おそらくうつぼさんのデモが上手かったのだと思います。

うつぼさんは「Rookだらけのアドベントカレンダー2019」でも、同話題について投稿して下さってますのでそちらもご参照下さい。

- 6日目 [Rook-Ceph OSD on PVC(前半)](http://ututaq.hatenablog.com/entry/rook/06)
- 7日目 [Rook-Ceph OSD on PVC(後半)](http://ututaq.hatenablog.com/entry/rook/07)


## 「Rook v1.1で新登場！YugaByte DBをさわってみる」 by tzkoba
※発表資料は[こちら](https://speakerdeck.com/tzkoba/rook-v1-dot-1dexin-deng-chang-yugabyte-dbwosawatutemiru)。

最後は私、こばがYugaByte DBについて語りました。
これは明日からの「Rookだらけのアドベントカレンダー」のネタでもあるので、多くは語りません。

ただ、連日のスライド作成と登壇からおかしなテンションになっていたらしく、普段と違う（？）語り口が好評だったようです。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">こばさんの話し方めっちゃ好き <a href="https://twitter.com/hashtag/japanrook?src=hash&amp;ref_src=twsrc%5Etfw">#japanrook</a></p>&mdash; Kazuto Kusama(草間 一人) (@jacopen) <a href="https://twitter.com/jacopen/status/1204007174856265728?ref_src=twsrc%5Etfw">December 9, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

**趣味全開でデータベースやストレージの話しができるって、最高ですね。**

なお当日の質疑でもお答えしたように、Kubernetesで展開できるSpannerクローンと言えるデータベースは現在3つほどあります。

- YugaByte DB
- CockroachDB
- TiDB

上2つはmeetup中に回答したように、SQLエンジン部分とストレージエンジンを分けて拡張することが出来ません。TiDBはできるはずです。

但し、TiDBはMySQLインターフェースなので、会場に居合わせたPostgreSQLコミッタに「TiDBのPostgreSQL版つくってくださいよ！」とお願いしておきました。

# 第2回もあります！
最後に、主催者のうつぼさんから第2回の開催予定も発表されました。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">次回Rook Meetup #2 は、3月ぐらいかな！！ <a href="https://twitter.com/hashtag/japanrook?src=hash&amp;ref_src=twsrc%5Etfw">#japanrook</a> <a href="https://t.co/fTlGrtkxGE">pic.twitter.com/fTlGrtkxGE</a></p>&mdash; Kazu @capsmalt (Red Hat K.K.) (@capsmalt) <a href="https://twitter.com/capsmalt/status/1204012622481219585?ref_src=twsrc%5Etfw">December 9, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

**これからRookの検証をされる方々、ぜひ登壇をお願いします。**

# まとめ
さて、無事にJapan Rook Meetupの第一回がおわり、盛況のうちに幕を閉じました。
充実した内容に加え、参加者の皆さんとの一体感もあって、和やかなムードで開催できたことは登壇者の一人としてとても嬉しく思っています。

これからもRookに関する話題がありましたら、ぜひお話しましょう。