Raspberry Pi 4でKubernetesクラスターを構築する【ハードウェア編】

# 目的
業務でKubernetes(以下k8s)を扱うようになり、勉強のために1から構築します。
GKEやAKSを使うのではなく1から環境構築したくなり、過去にRaspberryPiでk8sのクラスターを構築している方の記事をみたことを思い出し、自分でもやってみることにしました。

# この記事でできるようになること
【ハードウェア編】では、k8sのクラスター構築の準備として、以下の画像のようなデバイスを組み立てます。
必要な部品とそれらのリンクも記載するので、購入した上で手順通りに組み立てれば、k8s等をインストールするための準備は完了します。

<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112715/0b1f9b57-0a25-ca07-9f3c-ed45d9f997b3.jpeg">

# 最終的なゴール
【ハードウェア編】[【ソフトウェア編】](https://qiita.com/istsh/items/93bd5e46e4ce71e8e5f5)の両方を読み終えると、以下の環境を構築できるようになります。

- Master Node * 1
    - Kubernetes v1.18
        - Pod Network: Flannel
- Worker Node * 2

# 購入した部品
<img width="700" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112715/b178ab96-d8c1-a9a6-c552-d33845f31e95.jpeg">

部品|個数|備考
---+---+---
[Raspberry Pi 4 Model B/4GB](https://raspberry-pi.ksyic.com/main/index/pdp.id/498/pdp.open/498)|3個
[Raspberry Pi 4 ヒートシンク](https://www.amazon.co.jp/gp/product/B083TYYLLG/ref=ppx_od_dt_b_asin_title_s00?ie=UTF8&psc=1)|3個|アクリルケースに付属されているヒートシンクを使う場合は不要
[microSDHC 32GB](https://www.amazon.co.jp/gp/product/B074B28H3S/ref=ppx_od_dt_b_asin_image_s00?ie=UTF8&psc=1)|3個
[アクリルケース](https://www.amazon.co.jp/gp/product/B01F8AHNBA/ref=ppx_yo_dt_b_asin_title_o01_s01?ie=UTF8&psc=1)|1個|ヒートシンク、ピンセット、ドライバー付属
[無線LAN トラベルルーター](https://www.amazon.co.jp/gp/product/B07R2CKQXC/ref=ppx_yo_dt_b_asin_title_o01_s01?ie=UTF8&psc=1)|1個
[5ポート USB充電器](https://www.amazon.co.jp/gp/product/B00Z8Z7WEE/ref=ppx_yo_dt_b_asin_image_o01_s01?ie=UTF8&psc=1)|1個
[スイッチングハブ](https://www.amazon.co.jp/gp/product/B017SFTMFS/ref=ppx_yo_dt_b_asin_title_o01_s01?ie=UTF8&psc=1)|1個
[USB Type-C ケーブル](https://www.amazon.co.jp/gp/product/B07GF4QLP7/ref=ppx_od_dt_b_asin_title_s01?ie=UTF8&psc=1)|3本|このリンクは3本組の商品です
[Micro USBケーブル](https://www.amazon.co.jp/gp/product/B07ZQ29BPP/ref=ppx_od_dt_b_asin_title_s01?ie=UTF8&psc=1)|2本|このリンクは2本組の商品です
[0.5m LANケーブル](https://www.amazon.co.jp/gp/product/B00ID1S8ZW/ref=ppx_yo_dt_b_asin_image_o00_s00?ie=UTF8&psc=1)|4本

### その他に使用したもの
- microSDカードリーダー
- 両面テープ

# 組み立てる
### Raspberry Pi 4開封
Raspbery Pi 3では基盤は袋で密閉されているようでしたが、4は剥き出しの状態で入っています。
箱を開けた時にびっくりして一瞬不安になりましたw

<img width="700" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112715/7653a974-d506-1323-4b35-404f68552a09.jpeg">

### Raspberry Piをアクリルプレートに固定
アクリルプレートのフィルムを剥がすのが一番大変でしたw

Raspberry Piの裏面にmicroSDを挿入するスロットがあり、プレートはこのスロットに当たらないように作られています。
なので、それぞれの向きを間違えないように注意してください。

<img width="700" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112715/60b1660c-9820-8308-5605-12b98af07439.jpeg">

### Raspberry Piにヒートシンクをつける
それぞれ大きさが異なり、貼り付ける位置が違うので注意してください。

<img width="700" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112715/272ca734-401d-40b0-8bf5-b2341fd7a400.jpeg">

### USB充電器を設置
大きめの両面テープで固定しています。

<div>
<img width="400" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112715/fe524825-028e-891f-c39b-5e936ac68250.jpeg">
<img width="400" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112715/2da007b9-9dcc-1522-f663-a28114e94fb5.jpeg">
</div>

### スイッチングハブ、トラベルルーターを設置
トラベルルーターは少しずらして設置しています。
理由は、スイッチングハブのLANケーブルの爪が当たってしまい、設置する時に少し浮いてしまうからです。
トラベルルーターとスイッチングハブは、それぞれ両面テープで固定しています。

<div>
<img width="400" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112715/362d8821-09d1-70a0-4ca8-2f86fdf16179.jpeg">
<img width="400" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112715/fa05cdfe-b403-e6e4-e343-9dfe65cc380b.jpeg">
</div>

### アクリルプレートを固定用のネジでつなげる
このときに、どうケーブリングするかイメージしながらプレートを固定していくといいと思います。
私は、正面にケーブルが出ているのがいやだったので、以下のような向きで固定しました。
(すべて正面から見た場合)

段数|設置物|固定方法
---+---+---
1~3段目|Raspberry Pi|USBポートやLANポートが左側に来るように固定
4段目|USB充電器|USBポートが左側に来るように固定
5段目|スイッチングハブ、トラベルルーター|LANポートが裏面に来るように固定

<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112715/7787d2b9-5dc6-d2b2-9d83-b7a9d25ea790.jpeg">

### ケーブリング
#### 正面
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112715/0b1f9b57-0a25-ca07-9f3c-ed45d9f997b3.jpeg">

#### 裏面

<div>
<img width="400" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112715/dd9b1acf-b6e4-ef23-1f2d-20be093e0b6c.jpeg">
<img width="400" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112715/9837f43f-c24d-af82-703d-fa06e75905c6.jpeg">
</div>

# まとめ
基盤を触ったり、配線を考えたりするのが久しぶりだったので、結構ワクワクしました。
ルーターの設定やk8sのインストール、クラスターの構築は、[【ソフトウェア編】](https://qiita.com/istsh/items/93bd5e46e4ce71e8e5f5)で解説しているので、ぜひそちらもご覧ください。

# 参考記事
[Raspberry PiでおうちKubernetes構築【物理編】](https://qiita.com/go_vargo/items/d1271ab60f2bba375dcc)
[Raspberry Pi 4 でおうちKubernetesを作ろう（Raspbian Buster Lite対応版）](https://qiita.com/kentarok/items/6e818c2e6cf66c55f19a)
[3日間クッキング【Kubernetes のラズペリーパイ包み　“サイバーエージェント風”】](https://developers.cyberagent.co.jp/blog/archives/14721/)