Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Thinking of Rook Cassandra Operator

Thinking of Rook Cassandra Operator

Nobuhiro Sue

April 02, 2021
Tweet

More Decks by Nobuhiro Sue

Other Decks in Technology

Transcript

  1. 2021年 4月 2日
    レッドハット株式会社
    須江 信洋 (@nobusue)
    今だからこそ考える
    Cassandra on Rook
    1
    Japan Rook Meetup #5

    View Slide

  2. 自己紹介
    2
    須江 信洋(すえ のぶひろ)
    • Twitter: @nobusue
    約14年JavaEE関連に携わる(1999〜2013)
    IoTサービス関連Startupで開発から運用まで (2014〜2017)
    • ストリーミングデータ処理、マイクロサービス化、
    コンテナプラットフォーム構築/運用
    Red HatでOpenShift担当Solution Architect(2017〜2019)
    Red HatでMW SAチームのマネージャ(2019/4〜now)

    View Slide

  3. Rook Project Status .........
    3 https://github.com/rook/rook#project-status

    View Slide

  4. 4ヶ月くらい放置されてる気配・・・(2021/4/2早朝時点)
    4
    https://github.com/rook/rook/tree/master/pkg/operator/cassandra

    View Slide

  5. Apache Cassandraってどんなもの?
    5
    ● https://cassandra.apache.org/doc/latest/architecture/overview.html
    ○ "Apache Cassandraは、オープンソースの分散型NoSQLデータベースです。Cassandraは、Eventually
    Consistent(結果整合性)セマンティクスを持つ、パーティション化されたワイドカラムストレージモデルを提
    供します。"
    ○ "Apache Cassandraは当初、Facebook社でSEDA(Staged Event Driven Architecture)を用いて設計
    され、Amazon社のDynamo分散ストレージおよびレプリケーション技術と、Google社のBigtableデータ
    およびストレージエンジンモデルを組み合わせて実装されました。DynamoとBigtableは、スケーラブルで
    信頼性が高く、可用性の高いストレージシステムという新たな要求を満たすために開発されましたが、そ
    れぞれに改善すべき点がありました。"
    ● 手っ取り早く理解したい方はこちらをどうぞ
    ○ 「NoSQLデータベースCassandraの紹介 〜 ヤフーのデータ基盤を支える技術」
    ■ https://techblog.yahoo.co.jp/entry/20200129803067/
    ● 要点
    ○ マスターレス(Peer to Peer)な分散型 =>運用メンドイ
    ○ ワイドカラムKVS
    ○ Eventually Consistent
    ○ Javaで実装

    View Slide

  6. Cassandra Operator(s)
    6
    ● Cass Operator by DataStax
    ○ https://github.com/datastax/cass-operator
    ○ https://docs.datastax.com/en/cass-operator/doc/cass-operator/cassOperatorGettingStarted.html
    ○ 機能的にはまだ弱いがデファクト狙い?
    ○ OpenShiftでもcertify済み
    ■ https://catalog.redhat.com/software/operators/datastax/cass-operator/5ec5a88329373868203
    3f770
    ● CassKop by Orange-OpenSource
    ○ https://github.com/Orange-OpenSource/casskop
    ○ 機能的にはかなり充実している様子
    ● Instaclustr
    ○ https://operatorhub.io/operator/cassandra-operator
    ○ https://github.com/instaclustr/cassandra-operator
    ○ sunset、今後はcass-opかcasskopを使えとのこと
    ● Scylla Operator
    ○ https://github.com/scylladb/scylla-operator
    ○ Scylla(C実装のCassandra互換DB)専用Operatorを作ってる

    View Slide

  7. 気を取り直して、、、アーキテクチャを拝見
    7
    https://github.com/rook/rook/blob/master/design/cassandra/design.md

    View Slide

  8. Rook Cassandra Operator
    8
    ● Quickstart
    ○ https://rook.io/docs/rook/v1.5/cassandra.html
    ■ Operatorの導入方法はシンプル
    ● Rook Cassandra Operatorを動かす前提条件
    ○ https://rook.io/docs/rook/v1.5/k8s-pre-reqs.html
    ■ Cassandraを動かす用途ならflexvolume pluginは必須ではない
    ● Rook Cassandra Operatorのいいところ
    ○ クラスタの構築が容易(CRをapplyするだけ)
    ○ スケールアップ/ダウンが容易(CRをeditするだけ)
    ○ モニタリングの設定が容易(ConfigMapを作るだけ)
    ○ CassandraとScyllaを同じ方法で扱える
    ● 注意点
    ○ Dynamic Provisioning可能なストレージが必要
    ○ StorageClassはCassandraクラスタ毎に1つしか設定できない
    ○ (Rookで生き残れるか不透明・・・・)

    View Slide

  9. そもそもCassandra OperatorがRookに入ってる理由は?
    9
    ● (たぶん)Dynamic Provisioning可能で、高速かつ信頼性の高いストレージが必須だから
    ○ on k8sではなく普通にクラスタ組むときは、インスタンスストアなどの高速なローカルストレージ
    を使うことが多い
    ○ on k8sの場合はPod配置の自由度を高めるためにストレージを抽象化したいので、必然的に
    CephのようなSDSと組み合わせて考える必要が出てくる
    ○ おそらく、バックアップ/リストアやスナップショット取得など、ストレージ層と連携するOperatorを
    作ることを想定していたのではなかろうか?
    ■ 未実装だがRook Cassandra OperatorのDesign Docにその片鱗が・・・・
    ● しかし現実には、、、
    ○ Rook Ceph OperatorとRook Cassandra Operatorの間で共有されているコードは皆無で、
    まったくの別物と言ってよい
    ○ Cassandra/Scyllaいずれも独自にOperatorの開発が進められており、そちらがデファクトにな
    りそうな勢い

    View Slide

  10. 最後に) Cassandraのベンチマークツール
    10
    ● 今回はベンチーマーク実行してませんがCassandraとScyllaで比較してみるとたぶん面白いと思い
    ます(時間取れたら後日やってみようと思います・・)
    ● YCSB: 汎用NoSQLベンチマークツール
    ○ https://github.com/brianfrankcooper/YCSB/wiki/Getting-Started
    ● tlp-stress: Cassandra専用ストレステストツール
    ○ https://github.com/thelastpickle/tlp-stress

    View Slide

  11. linkedin.com/company/red-hat
    youtube.com/user/RedHatVideos
    facebook.com/redhatinc
    twitter.com/RedHat
    Red Hat is the world’s leading provider of enterprise
    open source software solutions. Award-winning support,
    training, and consulting services make Red Hat a
    trusted adviser to the Fortune 500.
    Thank you
    Red Hat Tech Night 2019.05

    View Slide