LoginSignup
193

More than 5 years have passed since last update.

Raspberry PiでおうちKubernetes構築【物理編】

Last updated at Posted at 2018-12-30

目的・背景

一家に一台Kubernetesが当たり前の現代

スクリーンショット 2018-12-31 5.52.00.png

仕事で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とヒートシンク大小のパーツです。

スクリーンショット 2018-12-31 4.42.19.png

参考記事だとアルミのようなシートに包まれています。
写真を撮った後で気づきましたが、Raspberry Piは裏側も基盤が剥き出しなので、
保護する必要があります。
慌てて保護用のシートを敷きました。

用意がなかったので、今回は有り合わせの「お魚をフライパンで焼く用のシート」を敷きましたが、本質ではないので気にしないでください

Raspberry Pi本体にヒートシンクを貼ります。
ヒートシンクとはなんぞや? と思って調べたところ、下記の用途の部品でした。

ヒートシンク(英: heat sink)とは、放熱・吸熱を目的として機械の構造の一部をなす部品である。
引用: Wikipedia

ヒートシンクは裏側にテープが貼ってあります。

スクリーンショット 2018-12-31 4.47.38.png

これを剥がして、CPUとLANコントローラにそれぞれ大・小のヒートシンクを貼り付けます。
向きは自由です。

スクリーンショット 2018-12-31 4.53.39.png

よく見るとラズベリーが彫ってあります。芸が細かくてオシャレですね。

スクリーンショット 2018-12-31 4.54.16.png

4段積層式のケース組み立て

ヒートシンクを組み立てたRaspberry Piを4段積層式のケースに組み立てていきます。

その前に下ごしらえとして、アクリル板の保護シートを外します。
3日間クッキング【Kubernetes のラズペリーパイ包み “サイバーエージェント風”】で「一番大変な作業」とあって、その通りだと思いました。
素手で剥がしにいきましたが、私は1時間くらいかかりました。

アクリル板
スクリーンショット 2018-12-31 4.56.57.png

保護シートは裏表の両面にあります
スクリーンショット 2018-12-31 4.57.10.png

剥がすとアクリル板が透明な色合いになります
スクリーンショット 2018-12-31 4.57.57.png

ネジ・スペーサー・ナットを使ってRaspberry Piを固定します。
スクリーンショット 2018-12-31 5.01.54.png

ネジ -> スペーサーをアクリル板に取り付けます。
スクリーンショット 2018-12-31 5.02.25.png

スペーサー -> Raspberry Piを乗せたら、ナットを閉めます。
スクリーンショット 2018-12-31 5.05.35.png

裏側にネジ穴があるので、ドライバーで締めます。
スクリーンショット 2018-12-31 5.07.55.png

3台ともナットを締めたら、1段目を構築していきます。
スクリーンショット 2018-12-31 5.17.27.png

スクリーンショット 2018-12-31 5.18.54.png

スクリーンショット 2018-12-31 5.20.11.png

2段目、3段目と構築していきます。
スクリーンショット 2018-12-31 5.21.51.png

スクリーンショット 2018-12-31 5.22.10.png

4段目にUSB充電器を配置します。
隙間があり動いてしまうので、固定用の両面テープを貼ります。

スクリーンショット 2018-12-31 5.25.09.png

4段目までが完成しました。
スクリーンショット 2018-12-31 5.24.52.png

幻の5段目にスイッチングハブとコンパクト無線親機を配置します。

両面テープを貼り付けましたが、最上段のラズベリーマークの跡が穴が空いて、
スカスカのため、多少動いてしまいました。
スクリーンショット 2018-12-31 5.25.24.png

最上段が完成しました。
スクリーンショット 2018-12-31 5.26.34.png

ケーブリング

配線を行います。
まずはスイッチングハブとRaspberry Pi3台それぞれをLANケーブルで接続します。
スクリーンショット 2018-12-31 5.41.44.png

続いて、スイッチングハブとコンパクト親無線機もLANケーブルで接続します。
スクリーンショット 2018-12-31 5.44.24.png

Raspberry PiとUSB充電器、スイッチングハブ・コンパクト親無線機とUSB充電器を繋げます。
スクリーンショット 2018-12-31 5.45.44.png

うまくケーブリングができぬ・・・

表面から見た例
スクリーンショット 2018-12-31 5.52.00.png

USB充電器に電源アダプターをつければ電源がつきます。

Raspberry PiはPWRランプが赤くつくはずです。

ガ○ダムみたいでかっこいいです

スクリーンショット 2018-12-31 5.54.29.png

無線設定

物理編の最後に、コンパクト無線親機の無線設定を行います。
無線親機のメーカーが用意している設定書に従って、設定をしてください。

当たり前ですが、メーカーが用意している説明書なので、一番丁寧です

以上で物理編を終わります。
肝心のKuberntesクラスタ構築は後半の論理編をご参照ください。

余談

3機中1機だけ左右を間違えてネジを止めてしまっていたことに、タワーを作ったこと後で気づきました。
当然、一度組み立てたものをバラして、正しい位置に直しました・・・

都度都度の確認が重要ですね

正しい向き
スクリーンショット 2018-12-31 5.07.55.png

ガンプラを作らなくなって久しいですが、
子供の頃作っていた当時のような気持ちを思い出し、
作ってワクワク・ドキドキしました。

以上

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
193