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

YAMLを書くだけで構築できる分散ストレージ

 YAMLを書くだけで構築できる分散ストレージ

kanazawa.rb #127の発表資料です

842515eaf8fbb2dfcc75197e7797dc15?s=128

Satoru Takeuchi
PRO

May 21, 2022
Tweet

More Decks by Satoru Takeuchi

Other Decks in Technology

Transcript

  1. YAMLを書くだけで 構築できる分散ストレージ May 21st, 2022 Satoru Takeuchi twitter: satoru_takeuchi

  2. 概要 • Rook/CephというYAMLを書くだけで構築できる分散ストレージの紹介 • 単純なクラスタを作るデモをします • プロダクション向けRook/Cephクラスタも紹介

  3. Cephとは • OSSの分散ストレージ • Red Hat社主体で開発 • 20年近くの歴史あり • CERN,NASAなどが大規模データを扱っている実績あり

  4. Cephのアーキテクチャ Cephのストレージプール ブロックデバイス node ファイルシステム S3互換オブジェクト ストレージ クライアント disk disk

    node disk disk node disk disk OSD OSD OSD OSD OSD OSD
  5. Cephの難点 • 使いにくいインタフェース • やたらと多くて複雑な設定 • ゆえに管理が大変

  6. Rookとは • Kubernetes上で動くCephのオーケストレータ • Red Hat社とサイボウズ社が中心に開発 • 生まれてから6年くらい • Kubernetes

    ◦ 分散コンテナアプリ実行基盤 ◦ YAMLを書くだけでアプリが動く
  7. Rookのアーキテクチャ • YAMLを書くだけでCephクラスタが構築できる apiVersion: ceph.rook.io/v1 kind: CephCluster … spec: …

    cephVersion: image: quay.io/ceph/ceph:v17 … storage: useAllNodes: true useAllDevices: true … コンテナのバージョンを変えればアップデート可能 全ノード上の全空きディスク上に OSDを作ってCephに組み込む
  8. デモ 1. 初期状態 1.1. Kubernetesクラスタが立ち上がっている 1.2. Rook operator(オーケストレータ本体。 Cephを管理) 2.

    やること 2.1. Cephクラスタを構築 2.2. Cephクラスタができているかどうか確認
  9. プロダクション用クラスタの紹介 • 例: サイボウズの新インフラ基盤のYAMLはOSSとして公開されている ◦ https://github.com/cybozu-go/neco-apps/blob/main/rook/base/ceph-ssd.yaml • Rook/Cephクラスタの構成 ◦ 全データは3つのレプリカをそれぞれ別ラック上の

    OSD(ディスク)上に持つ ◦ YAMLを一か所書き換えるだけで OSD(ディスク)を一つCephクラスタに追加 kind: CephCluster … spec: … storage: … count: 43 … OSDの数。これを増やせばクラスタに 新たにOSD(ディスク)が組み込まれる
  10. おわり • KubernetesとかRook/Cephはたのしいよ!