カンタンお手軽?!K8s から使えるラズパイ分散ストレージK8s@home #1 LT2022/10/12
View Slide
自己紹介・ののし(@nnstt1)・自動化が好き・息子たちが大好きCKS/Professional/Expert 取りたいなぁ
自宅ラボ構成・仮想化基盤(Proxmox VE)にK8sやその他サーバを構築・K8sはkubeadmを使ったノーマル構成・ラズパイに分散ストレージCephを構築してK8sのRookから利用・主にこちらをお話ししますProxmox VECephDNSK8s LBルータラボネットワーク自宅ネットワーク
自宅ラボ構成・仮想化基盤はNUCとDeskMiniの2台構成・Cephはラズパイ3台構成& PoEスイッチから電源供給物理構成NUC DeskMiniラズパイ#1 ラズパイ#2 ラズパイ#3PoE スイッチCisco 891FJ
自宅ラボ構成・なるべく棚1段で収まる規模でNUC11PAHi5DeskMini A300NETGEARGS305PラズパイCisco 891FJ空冷
Raspberry Pi とは・ARMプロセッサを搭載したシングルボードコンピュータ・通称「ラズパイ」・Kubernetesクラスタ構築も可能・自宅ラボではRaspberry Pi 4 Model B (Mem: 4GB)を利用・最近は入手困難らしい
Ceph とは・オープンソースの分散ストレージ・ブロックストレージ、ファイルストレージ、オブジェクトストレージを提供・OSDがストレージデバイスを管理
Rook とは・クラウドネイティブなストレージオーケストレーター・K8s上でCephを管理するオペレーターを展開・External Clusterという機能でK8sクラスタ外のCephも利用可能
なんで ラズパイ ✕ Ceph ?・K8s勉強のため自宅ラボ構築・Rook/CephでStorageClassを用意・よくクラスタを壊すのでストレージも消える・そもそもCephが分からない・クラスタ外にストレージを作ろう、ついでにCephも勉強しよう・ストレージは物理で用意したいよね(浪漫)・でもあまり💰は掛けたくないラズパイCeph爆誕K8sはどうした🤔自宅 K8s クラスタのストレージはどうしてますか?Synology が CSI ドライバ公開してて便利そう
ラズパイ Ceph の作り方1. ARM向けOSイメージをMicroSDカードに焼く2. MicroSDをラズパイに挿して起動3. Cephadmを使ってクラスタ作成○CephadmについてはJapan Rook Meetup #5でお話ししています(宣伝)とてもカンタン!
K8s から Ceph を使う1. K8sにRookインストール2. Cephで認証情報を作成/取得するスクリプト実行3. External Cluster用リソースデプロイとてもお手軽!K8s に関連するページはここだけかも ……
ラズパイ Ceph の注意点ラズパイを使ったことでいくつかトラブルがあったので紹介します。(時間なくなったら省略します)
Ceph がラズパイに対応してなかった・OSDが起動してもすぐ落ちる・ceph-volumeが/dev/rootを想定していない・データストア(filestore/bluestore)を選択できなくてコケる・最新版Cephでは修正済みの事象・ラズパイで動くことを想定していないバグがあったりする
USB-SATAケーブルの相性問題・SSDをUSB-SATAケーブルでラズパイに接続・SSDを認識しなくなるエラーが多発・ラズパイと相性が悪いUSB-SATAケーブルだった・実績のあるケーブルに変えることで安定・こちらのサイトに助けられました Best Working SSD / Storage Adapters for Raspberry Pi 4 / 400 https://jamesachambers.com/best-ssd-storage-adapters-for-raspberry-pi-4-400/・ケーブル全とっかえ😇~💸
・SSDを1台/ラズパイ で運用・もっとOSDが欲しい……→SSDを2台/ラズパイ に増やす・電力不足発生→ ラズパイはUSB type-cで15W供給・PoE+ HATとPoEスイッチを導入・30W供給可能・電力不足解消&ケーブル周りもスッキリ・😇~💸電力不足
停電で MicroSD ぶっ壊れる・最近落雷⚡が多いですよね・UPSを導入していない自宅ラボで停電頻発・ラズパイ ⅔ 台のMicroSDカードが故障、停電が原因っぽい・UPS導入して停電対策・安心は金で買える・😇~💸・MicroSDは壊れやすいのでラズパイはSSD起動がよいかも
まとめ・ラズパイを使えば カンタン(※1)お手軽(※2)にCephを構築できる(※3)(※4)※1インストールはカンタンです※2 Rookから使うのはお手軽です※3安定稼働するとは言ってない※4😇~💸・大変さを上回る楽しさがあります✨