Skip to main content

Kubernetes Custom Controller を手抜きで作る技術

このポストは GMOペパボエンジニア Advent Calendar 2020 の11日目の記事です。

最近業務や個人プロジェクトで Kubernetes Controller を書くことがたまにあり、
段々どう書いていけばいいかわかってきたので、書いていきます。
あまり使いこなせていない機能もあるため、自分の理解ベースでお話します。

Rook Ceph を ZFS で動かす

ZFS が好きなんですが、Kubernetes との組み合わせを見ると、
クラウドネイティブな仕組みでいい感じにマルチノード冗長してくれる仕組みがありません。

そのへんは Rook が人気っぽいので、Rook を利用して Ceph を動かしてみました。
ZFS 上にファイル保存領域を作成し、 OSD に 割り当てる方式としました。

Raspberry Pi を全自動で PXE Boot できるようにする SD カードを作成する

PXE ブートすると,SD カードの寿命を気にしなくて済むようになるので,
可用性が飛躍的に向上します.

しかし, PXE ブートするためには,先に SD カードでブートしていろいろしないといけません.
やらなきゃいけないことは以下です.

  1. eeprom をアップデートする
  2. config を書き換える
  3. eeprom に config を入れ込む
  4. eeprom を焼く
  5. reboot する

さらに,PXE Boot するために /proc/cpuinfo で確かめられる Serial を取得する必要があります.

これらを SD カードブートして ssh ログインして実行するのは骨が折れますね.
自動化しましょう.