今回は3台のRaspberry Piを使用してKubernetesを構築しますが、基板がむき出しのまま扱うと故障の恐れがあり、また無思考に並べてしまうとどのRaspberry PiにSSHするのかも分からなくなるという事故が起きる可能性があります。
そのため、今回はRaspberry Piを縦に並べられるスタック型のRaspberry Piケースを用意しました。これを組み立てて最高のおうちKubernetesを目指しましょう。
完成図はこのような形になります。※写真はクリアモデルであり、皆さんにお渡ししているのはブラックモデルです
早速組み立てていきましょう。
こちらが1段作るのに利用する材料です。
- A: Raspberry Pi4 本体
- B: Raspberry Pi PoE Hat
- ケースボックスから取り出す
- C: 下に敷くプラスチック板 (底面用は真ん中に穴が空いていない物を利用してください)
- D: 銀のナット 4個
- E: 平ねじ 4個 (底面でのみ利用します)
- F: 金の長いスペーサー 4個
- G: ヒートシンク
- H: M2.5 ねじ 4個
合わせてケースからドライバーを取り出しておきましょう。今回の組立全般で利用します。
事前にプラスチック板から保護シートを剥がしておきましょう。
B: Raspberry Pi PoE Hatの箱を開け、PoE Hat本体、付属のねじ4本、付属のスペーサー4本を取りだしましょう。 そして本体に空いているねじ穴に対して、上からねじを、下からスペーサーを使って挟み込みます。
4箇所全てにねじ止めし裏返すとこのようになります。
PoE Hatへのねじ止めがおわったら、PoE HatをRaspberry Pi本体に取り付けます。
A: Raspberry Pi本体を開封し取り出してみましょう。
G: ヒートシンクにある"For Pi 4B"と書かれた中から、最も大きいヒートシンクをRaspberry Pi4本体のCPUに貼りつけてください。
他の黒いチップに対してもヒートシンクも貼る事ができれば貼りましょう。 写真では"For Pi 3B+/3B"と書かれた銅色のヒートシンクが薄いため細長いチップに貼りつけています。
無事にヒートシンクが貼りつけられたら、次はPoE Hatとの接続です。
Raspberry Pi4側にある20本のピンを、PoE Hatのスペーサーを取り付けた側にある同数の穴に差し込んでいきます。 このとき、垂直に力を入れるよう注意してください。製品によっては少し堅いかもしれませんが、垂直に力を入れていれば問題なく入ります。
こちらの写真のように、PoE Hatに取り付けたスペーサーがRaspberry Pi本体の基板にあたるまで押し込んでください。
これにてPoE Hatの取り付けは完了です。
Raspberry Piを固定するためにプラスチック板を取り付けます。 材料C, D, Hを用意してください。
底面のプラスチック板にある中央4箇所の穴にD: ナットを用いてH: M2.5ねじを固定します。 Raspberry Piを固定するための穴です。
片方の面に指を使ってナットを穴の位置に固定させ、もう片方の面からねじをいれます。 手を離してもナットやねじが落ちないぐらいまでねじを回してください。
4箇所全て同じ方向にナットとねじを固定してください。
ではRaspberry Piにプラスチック板を固定しましょう。 まずはRaspberry Pi本体を裏返し、プラスチック板がRaspberry Piのねじ穴と正しい位置に置けるのかを確かめましょう。
こちらの写真左側にあるRaspberry Pi本体のmicroSDカードスロットと、プラスチック板の切りかけが同じ方向である必要があることに注意してください。
4箇所とも正しい位置にねじがあることを確認したら、ドライバーを使ってねじ止めしていきます。 このとき、ねじ止めは4箇所を少しずつ止めることを気をつけてください。 ねじ止めの基本として「全体を少しずつ進める」「次に止めるのは対角線上のねじ」であることを意識してください。これによりプラスチック板が歪むことを防ぐことができます。
無事にプラスチック板が取り付けることができたら、積み上げていくために長いスペーサーを取り付けます。 材料E, Fを用意してください。
底面プラスチック板の1番外側の4箇所にスペーサーを取り付けます。
底面側からE: 平ねじを指でおさえ、上面側からスペーサーを取り付けると良いでしょう。
同様に4箇所にスペーサーを取り付けます。
これにて1段目が完了です。
同じ要領でもう一段用意します。最底面でない場合穴の空いたプラスチック板を用いることに注意してください。
2段目のプラスチック板における4箇所の穴を、1段目のスペーサに差し込みます。
1段目のスペーサのねじ部分を、2段目のスペーサで固定します。これを更に3段目まで進めましょう。
これで積み上げ完了です。
最後に蓋を取り付けましょう。
蓋の材料はこちらです。全てケースボックスから取り出してください。
- I: 蓋用プラスチック板
- J: 蓋用装飾品
- K: 銀のナット (Dと同じものです)
- L: 蓋用の留めねじ
- M: 銀のねじ
I: 二用プラスチック板とJ: 蓋用装飾品を上からL: 蓋用の留めねじ、下からK: 銀のナットを使って固定します。
こちらも同様に4箇所で固定します。
最後は蓋を先ほど積み上げたRaspberry Piクラスタに載せ、M: 銀のねじで固定して完成です。
最後に、全体を見てどこか歪んでいるところが無いのかを確認してください。 多少の歪みはありますが、大きく歪んでいる場合はねじを締め直すなどで対応してください。
Raspberry Piクラスタは無事に組みあがりましたが、このままだと電源もネットワークも接続できていません。 今回は手のひらサイズに収まるように更にパーツを追加しましょう。
材料はこちらです。
スイッチングハブから本体の他にゴム足を取りだしておいてください。
先に完成図を示します。
先ほど組んだRaspberry Piクラスタの横にスイッチを配置し、下に土台としてアクリル板を設置します。
まず、両面テープを貼る位置を確認しましょう。アクリル板の上にRaspberryPiクラスタを置き、地面に当たる位置を確認してください。
ちょうどRaspberry Piクラスタの底面にあるねじがあたる位置に両面テープを貼りつけます。
合わせてスイッチの底面側にも両面テープを貼ります。Raspberry Pi側のLANポートとスイッチのLANポート側が同じになるように貼りつけてください。
両面テープを剥がして固定する前に、アクリル板に足を付けましょう。こちらも両面テープが既についているので、剥がして固定しましょう。
いよいよ固定です。6枚の両面テープを剥がし写真のようにアクリル板の上にRaspberry Piクラスタとスイッチを固定しましょう。
最後にLANケーブルを配線して完成です。
- microSDカード 3枚
- microSDカード リーダライター 1個
Raspberry Piをクラスタとして扱うために、OSをインストールしましょう。 Raspberry PiのOSをインストールする場所として、今回は最もメジャーなmicroSDカードを用いる方式を取ります。
microSDカードをOS用途として用いるために、OS用のデータをコピーします。この作業はしばしば「SDカードに焼く」と呼ばれます。 以前はSDカードにコピーする汎用的なソフトウェアが利用されてきましたが、現在はRaspberry Pi向けのSDカードを作成するソフトウェアが公開されているため、これを用います。
こちらから、"Raspberry Pi Imager"をダウンロードしましょう。自分の利用しているOSに合わせて、"for Windows", "for macOS", "for Ubuntu"から選択してください。もしその他のOSを利用している場合は本ページの内容にしたがってSDカードにイメージファイルをコピーしても問題ありません。
インストールするとこのような画面が出るようになります。
"CHOOSE OS"を選ぶと、どのOSをインストールするか選択することができます。今回はUbuntu20.04を利用するため、"Ubuntu"→"Ubuntu 20.04.1 LTS (Raspberry Pi 3/4)"を選択します。
このタイミングで、用意しておいたmicroSDカードをPCに接続しましょう。リーダライターを経由して挿入した上で"SD Card"をクリックすると、31GBのmicroSDが表示されるので、こちらを選択しましょう。
OSとmicroSDカードを選択したあとは、"Write"を押してmicroSDカードに焼きましょう。
「本当にmicroSDカード内の情報を削除しても問題ないか?」と聞かれますが、"Yes"を押しましょう。
その後、書き込みと書き込みが正しく行われているかの検証を行い、次の画像のように"Write Successful"の表示が出れば成功です。この画面が出ればmicroSDカードを抜いても問題ありません。
同じ要領で残り2枚も焼いておきましょう。
今回は3台のRaspberry PiへSSHし、手元のマシンからアクセスできるようにしましょう。
最初にRaspberry PiをHDMIディスプレイに接続します。"microHDMI-HDMIケーブル"を取りだし、Raspberry Pi本体にケーブルを挿してください。
合わせてUSBポートにキーボードを刺した上で、スイッチの電源を入れましょう。LANケーブルを刺した時点でRaspberry Piが起動するため、1台ずつ起動するためにLANケーブルを一時的に抜いておくことを推奨します。
起動後はこちらのような画面になります。
初期状態ではユーザ名パスワードともに"ubuntu"になっているのでこれを入力してください。
初回起動時にはパスワードの変更を求められるため、適切なパスワードに変更してください。
無事にログインとパスワードの変更ができれば、以下のような表示になります。
ログインに成功した際の画面から、"IPv4 Address for eth0"に表示されているIPアドレスを確認しておきましょう。
このIPアドレスに対して、手元のマシンからSSHできることを確認しましょう。
$ ssh [email protected]
The authenticity of host '192.168.53.100 (192.168.53.100)' can't be established.
ECDSA key fingerprint is SHA256:7OU53DVWFvn2x7rjP8jcNeANG40ZLW2IIBuckq9dtAw.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.53.100' (ECDSA) to the list of known hosts.
[email protected]'s password:
Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-1015-raspi aarch64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Wed Mar 18 00:00:00 JST 1998
System load: 1.29
Usage of /: 7.0% of 28.10GB
Memory usage: 5%
Swap usage: 0%
Temperature: 45.8 C
Processes: 144
Users logged in: 1
IPv4 address for eth0: 192.168.53.100
IPv6 address for eth0: 240b:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
* Kubernetes 1.19 is out! Get it in one command with:
sudo snap install microk8s --channel=1.19 --classic
https://microk8s.io/ has docs and details.
60 updates can be installed immediately.
19 of these updates are security updates.
To see these additional updates run: apt list --upgradable
Last login: Wed Mar 18 00:00:00 JST 1998
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
ubuntu@ubuntu:~$
無事にSSHできれば動作確認完了です。
他の2台についてもmicroHDMIケーブルとUSBキーボードを刺した上で電源を入れ、SSHできることを確認してください。
今回設定されたIPアドレスはDHCPで設定されているため、変動してしまう可能性があります。IPアドレスを変えたい場合はお好みのIPアドレスに設定してください。