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

Thinking of Rook Cassandra Operator

Thinking of Rook Cassandra Operator

Avatar for Nobuhiro Sue

Nobuhiro Sue

April 02, 2021
Tweet

More Decks by Nobuhiro Sue

Other Decks in Technology

Transcript

  1. 自己紹介 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)
  2. 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で実装
  3. 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を作ってる
  4. 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で生き残れるか不透明・・・・)
  5. そもそも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の開発が進められており、そちらがデファクトにな りそうな勢い
  6. 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