目的・背景
一家に一台Kubernetesが当たり前の現代
仕事でKubernetesクラスタを構築はしているものの、
自宅には開発用のMacと調べ物用のWindowsPCしかなく、
Kubernetesを動かす時はDocker for Mac備え付けのKubernetes(ノードはMac1台!)を
動かす日々です。
今月も重めのStatefulSetを3つ動かしたら、CPUが400%に高騰してMacが死にかけました。
やはり複数ノードあってこそのKubernetesだと思うも、クラウドはどのサービスを使おうか・・・
どのクラウドサービスも一長一短が・・・と悩んでいました。
おうちKubernetesの記事のように憧れていた一家に一台のKubernetesですが、
今回とあるご機会に材料を頂き(一部自分でも調達しました)、構築したレシピの備忘として記事を書きました。
記事は「物理編」「論理編」に分けています。
この記事は「物理編」です。
構築にあたっては下記を大いに参考にさせて頂きました。
3日間クッキング【Kubernetes のラズペリーパイ包み “サイバーエージェント風”】
Raspberry PI と kubeadm で自宅 Kubernetes クラスタを構築する
kubernetesのラズパイ包みが美味しそうだったので、kubeadmを使って作ってみた
3日間クッキング【Kubernetes のラズペリーパイ包み “サイバーエージェント風”】では1時間ほどの構築時間とのことでしたが、
物理的にハマった箇所もあり物理構築は3時間ほどかかりました。
最終ゴール
- Raspberry Pi 3 Model B+
- OS: raspbian-stretch-lite(2018-11-13)
- Kubernetes v1.13.1
- Pod Network: Flannel
・Master × 1
・Worker × 2
のクラスターを構築します
材料類
Raspberry Pi 3 Model B | 3個 |
ヒートシンク | 3セット |
microSDカード 16GB | 3枚 |
4段積層式 Raspberry Pi3 ケース | 1個 |
5ポート 50W USB 充電器 | 1個 |
2.4A microUSB ケーブル | 4本 |
コンパクト無線親機 (WMR-433W-BK) | 1個 |
microUSB 給電 スイッチングハブ (LAN-SW05PSBE) | 1個 |
0.3m LAN ケーブル | 5本 |
材料以外の道具
ピンセット | 1個 |
ドライバー | 1個 |
両面テープ | 1個 |
Mac用SDカードリーダー | 1個 |
アルミシート | 1個 |
を利用しました。
Raspberry Piを開封する
Raspberry Piを袋から開封します。
写真はRaspberry Piとヒートシンク大小のパーツです。
参考記事だとアルミのようなシートに包まれています。
写真を撮った後で気づきましたが、Raspberry Piは裏側も基盤が剥き出しなので、
保護する必要があります。
慌てて保護用のシートを敷きました。
用意がなかったので、今回は有り合わせの「お魚をフライパンで焼く用のシート」を敷きましたが、本質ではないので気にしないでください
Raspberry Pi本体にヒートシンクを貼ります。
ヒートシンクとはなんぞや? と思って調べたところ、下記の用途の部品でした。
ヒートシンク(英: heat sink)とは、放熱・吸熱を目的として機械の構造の一部をなす部品である。
引用: Wikipedia
ヒートシンクは裏側にテープが貼ってあります。
これを剥がして、CPUとLANコントローラにそれぞれ大・小のヒートシンクを貼り付けます。
向きは自由です。
よく見るとラズベリーが彫ってあります。芸が細かくてオシャレですね。
4段積層式のケース組み立て
ヒートシンクを組み立てたRaspberry Piを4段積層式のケースに組み立てていきます。
その前に下ごしらえとして、アクリル板の保護シートを外します。
3日間クッキング【Kubernetes のラズペリーパイ包み “サイバーエージェント風”】で「一番大変な作業」とあって、その通りだと思いました。
素手で剥がしにいきましたが、私は1時間くらいかかりました。
ネジ・スペーサー・ナットを使ってRaspberry Piを固定します。
スペーサー -> Raspberry Piを乗せたら、ナットを閉めます。
4段目にUSB充電器を配置します。
隙間があり動いてしまうので、固定用の両面テープを貼ります。
幻の5段目にスイッチングハブとコンパクト無線親機を配置します。
両面テープを貼り付けましたが、最上段のラズベリーマークの跡が穴が空いて、
スカスカのため、多少動いてしまいました。
ケーブリング
配線を行います。
まずはスイッチングハブとRaspberry Pi3台それぞれをLANケーブルで接続します。
続いて、スイッチングハブとコンパクト親無線機もLANケーブルで接続します。
Raspberry PiとUSB充電器、スイッチングハブ・コンパクト親無線機とUSB充電器を繋げます。
うまくケーブリングができぬ・・・
USB充電器に電源アダプターをつければ電源がつきます。
Raspberry PiはPWRランプが赤くつくはずです。
ガ○ダムみたいでかっこいいです
無線設定
物理編の最後に、コンパクト無線親機の無線設定を行います。
無線親機のメーカーが用意している設定書に従って、設定をしてください。
当たり前ですが、メーカーが用意している説明書なので、一番丁寧です
以上で物理編を終わります。
肝心のKuberntesクラスタ構築は後半の論理編をご参照ください。
余談
3機中1機だけ左右を間違えてネジを止めてしまっていたことに、タワーを作ったこと後で気づきました。
当然、一度組み立てたものをバラして、正しい位置に直しました・・・
都度都度の確認が重要ですね
ガンプラを作らなくなって久しいですが、
子供の頃作っていた当時のような気持ちを思い出し、
作ってワクワク・ドキドキしました。
以上