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

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

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

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

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  6. Rookとは
    ● Kubernetes上で動くCephのオーケストレータ
    ● Red Hat社とサイボウズ社が中心に開発
    ● 生まれてから6年くらい
    ● Kubernetes
    ○ 分散コンテナアプリ実行基盤
    ○ YAMLを書くだけでアプリが動く

    View Slide

  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に組み込む

    View Slide

  8. デモ
    1. 初期状態
    1.1. Kubernetesクラスタが立ち上がっている
    1.2. Rook operator(オーケストレータ本体。 Cephを管理)
    2. やること
    2.1. Cephクラスタを構築
    2.2. Cephクラスタができているかどうか確認

    View Slide

  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(ディスク)が組み込まれる

    View Slide

  10. おわり
    ● KubernetesとかRook/Cephはたのしいよ!

    View Slide