Open45

私もk8sクラスタ用にRaspberry PiとTP-Linkをまとめられるケースを作りたい

astkastk

以前こちらの記事を見て私もRaspberry Pi 4のk8sクラスタを組みました。

https://developers.cyberagent.co.jp/blog/archives/27443/

10cm四方に収まるk8sクラスタってロマンがありますね。と言いつつ、私はまだ8sクラスタは組んでいないので、実質ただ固めて置いているだけなんですけどね。

https://zenn.dev/asataka/scraps/f887caae728572

現在は積み重ね可能な既製品の筐体を使って部屋に置いているんですが、やっぱりTP-Linkのスイッチもまとめて格納できる筐体が欲しくなってきたので適当に作ってみます。

astkastk

MDFでモックを作るなりして設計を確認しながら、Adobe Illustratorを使って一通りデータを作成します。Raspberry Piのデータは公式から提供されているものを利用しています。


モックでは省略しましたが、後で開口部の形状を変えて放熱性を実験したかったので穴を広めに開けています。

入稿したので、あとは完成品の到着待ちです。とてもワクワクする待ち時間ですね。

板はA4から切り出す想定で配置しましたが、発注時の選択肢的には 150x300mm300x300mm を多く見かけた気がします。今回は前者のサイズには収まリませんでしたが、上手いこと肉抜きをすればいけるかも、というラインなので早くも改良版を作りたい気持ちに。

既製品に矩形ではなくXに近い形にカットしているものがありますが、あれは空冷性能も考慮しつつ、部材を節約するためにそうなっているんじゃないでしょうか。強度を満たしてさえいれば、重要なのは板の形ではなくネジ穴や他部材に対する作用点同士の相対位置だな、と穴を配置していて思いました。

縦方向の広がりはこんな感じにしました。スイッチの高さを3等分する、というのが今回のデザインの発端なのですが、丁度いいスペーサ長を構成するのが難しく、複数サイズのスペーサを組み合わせ、さらに最下段だけ少し高く空間を取っています。

どうせ複数サイズのスペーサを組み合わせるなら、ということで3段と4段を組み替えられるようにしてみました。6角スペーサがその分余分に必要になりましたが気にしないことにします。板も部材のスペースが空いていたので増床分を発注データに含めています。

astkastk

加工されたアクリル板が到着したのでモックを解体して組んでいきます。

MDFの筐体も素朴でいいのですが、燃えやすさが気になるのと、ネジを通すときにネジ山で削りクズが出て基盤に落ちるのがマイナスですね。

無事、設計通りにネジが基盤に締結できて嬉しい瞬間です。実は写真では裏表逆に設置してしまっています。この後は順調に組み上げて行って問題なく完成しました。

完成品はほぼイメージ通りで、スイッチも無事設置できました。ガラス色のアクリルで作成しましたが、写真で見るとちょっと青みが強いですね。肉眼で見る分には基盤の緑と背景の木目に馴染んでとても満足しています。

未完成な点

  • ゴム足をつけるためのネジ長が足りなかったので発注中
  • せっかく4段にできるようにしたので4枚目のRaspberry Piも発注中

改良したい点

  • スイッチがちょっとガタつくので、もう1mm余裕を減らしても良さそう
  • 底を大きく肉抜きしたせいで持ち運ぶ時に指先が大きく触れる
astkastk

筐体制作に費やした期間は4日で延べ8-12時間くらいです。その間のスキマ時間にはモックを見ながらあれこれワクワク考えていました。これからは完成品を見ながらほくほくして過ごしたいと思います。

金額・道具はうろ覚えですが以下のような感じです。

モック制作

  • 金額: 400円
    • MDF材: 400円
  • 道具:
    • ピラニア鋸、三角刀、カッターナイフ、プリンター、のり、定規
    • Adobe Illustrator

本番制作

  • 金額: 8000円くらい
    • Anymany で加工・配送: 6000円
      • 翌日の営業日に加工完了、それから九州→東京の発送で3日間
    • ネジ、スペーサー、ゴム足: 2000-3000円くらい(ただし7割ほど余っている)

本番制作といってもモックを作りながらデータは完成しているので、実質発注しただけなんですけどね。

astkastk

放熱性能を簡単に確認してみます。CPUにはCPUとほぼ同じ大きさのアルミニウム製ヒートシンクを貼り付けてあり、その上に温度感知型のファンが備えられているPoEハットが被せてあります。

この状態で

stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 30s
stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 300s

を実行した際の node_exporter のメトリクスは以下の通りです。

平常時は 45-48℃、高負荷時には55-65℃で、やはり下段ほど熱を溜めやすいようです。高負荷時にはファンが相当うるさく、体感的には3台合わせてMacBookの最大負荷時と同じくらいの音量になります。

astkastk

4階建てにしたのでまた同様に負荷をかけて温度を見てみました。

stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 30s
stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 300s

そこまで変化はないかなという感じですね。

astkastk

発注した木のベースが届いたので、合わせてこんな感じに。

astkastk

加工する方法を選ぶ。

astkastk

Anymanyへの発注実績(2件)をまとめる。

  • 発注フォーム
    • 使いやすい、迷わない
    • アップロードしたデータのプレビューや素材選択のナビゲーションが親切
  • 加工品質
    • 特に問題なし
    • 端材は郵送物に含まれない
  • 時間
    • 発注から受け取りまで4日ほどかかる
    • 加工対応はとても迅速で、営業日なら発注から3時間後、休日なら翌営業日の昼には発送される
    • 福岡に拠点があるので東京までに3日(=72時間)かかる

詳細な記録は以下の通り。

  • 2021-05-30: アクリル板の加工(300x300x3mm, 6,000円)
    • 2021-05-30(日) 04:11 発注
    • 2021-05-31(月) 09:45 受付
    • 2021-05-31(月) 12:45 加工完了・発送の連絡
    • (クリックポストで福岡→東京)
    • 2021-06-03(木) 12:00 受取
  • 2021-06-08: アチガス板の加工(140x300x3mm, 4,000円)
    • 2021-06-08(火) 13:15 発注
    • 2021-06-08(火) 14:49 受付
    • 2021-06-08(火) 15:39 加工完了・発送の連絡
    • (クリックポストで福岡→東京)
    • まだ 受取
astkastk

しっくりくる操作性のCADが見つからないので、とりあえず慣れ親しんだAdobe Illustratorでスケッチ的なデザインをしてみる。

astkastk

公式のMechanical Drawingsを素材として利用する。

https://www.raspberrypi.org/documentation/hardware/raspberrypi/mechanical/README.md

ライセンスはCC BY-SA。再配布する際には同様のライセンスで行うことを求められる。

The licence we use is CC BY-SA (attribution and share-alike), which is the licence used by Wikipedia.

最終的な配布物から素材データを排除すればこの縛りの限りではないのかな?制作途中のスクリーンショットは出したいので怪しいかもしれない。別に他の誰が使おうと気にしないので同様のライセンスでの再配布でも問題ない(かな)。

astkastk

こんなイメージでカッティングのアウトラインを作ってみた。柔らかい木のお家、というイメージ。


astkastk

雑に作ったプロトタイプ。板のサイズを間違えてスイッチの押さえを取り付けるスペースが足りなかった。アクリル板はAmazonで買った製品を流用。

astkastk

寸法を整えて木製とアクリルでイメージを作ってみた。

A4から切り出す想定。スペースに余りがあり、スイッチが4ポートあるので4階に建て増しできるようにした。3階建てのまま使う場合は、そのまま10mmくらいのスペーサーを挟んで屋根にする。

astkastk

ネジ穴の位置とスイッチの収まりを確認する用のモックができた。

いい感じなのでこのまま入稿しよう。

astkastk

モックでは開けていないけれど、放熱用の穴だけちょっと強度が心配なので1mmほど内側にオフセットしよう。

astkastk

Anymanyで発注した。MDFの予定だったけどイラレで作ったイメージ図を見て、アクリルの方が綺麗だったのでそちらにした。

加工費3,900円と材料費1,600円で計6,000円程度(配送料、消費税を含む)。加工費は同じデータと素材であれば基本料金の2000円は重複しなくなるので、量産すれば単価は4,000円に近づいていく。大きい材料から効率的に切り出せば単価はもう少し下がるかも。

DMM.makeに行ってDrop-inで7,700円+レーザーカッター2時間2,200円払っても同じくらいかもしれない。

astkastk

企業とかが材料費をケチりたくなる気持ちがわかる。

astkastk

ガラス色のアクリルというのが気になったので、それで発注している。そして発注してから作るものじゃないけれど、イメージ図を作ってみた。

なかなか、Amazonとかの製品ではあまり見ない色合いでお洒落になりそう。Raspberry Piは基盤が見えてこそ愛着が湧くので、透明度のある素材の方がいい。

astkastk

MDF版もそのうち作りたい。当初は6角スペーサーを円柱状の化粧材で囲むつもりだったんだけど、いいサイズの木管がなかったので考え中。木の柱は東急ハンズで買ってきたので穴を開けるのを頑張れるかどうか。

astkastk

化粧材を使うパターンはこういうのをイメージしている。円柱をドリルで木管にして六角スペーサを覆う。

板材はアクリル板と木板の混成だとお洒落になりそう。基盤を背景のノイズから切り取るために底板だけ木板にして他はアクリルにする。基盤の見えにこだわりたい。

astkastk

基盤の見えにこだわりたい。

私はこういう中身のない人間なんだ。

astkastk

制作単価を抑えたい。

astkastk

Anymanyに限らずアクリル板はどこでもそこそこ高いのだけれど、これは3mm厚のB4サイズ(320×545mm)で1,173円。
https://www.amazon.co.jp/dp/B001D7BTNG
Anymanyが300x300mmで1,600円だったので面積当たり半額以下。この大きさだと3セットは取れそうなので、材料費が@400円ほどになる。いや安すぎるでしょう、なんだこれ。

加工費は10分あれば1セットは切れる(見通しが甘い?)と思うので、DMM.makeで切り出すとするとレーザーカッターの使用料が@200円くらいで、これにDrop-inの7,700円をセット数で割った額が足される。10セット作るとすると加工費は@1000円くらいになる。20セットで@600円くらい。これだけ作ると甘い見通しでも3時間くらいかかるけど。

アクリル板の部品を用意するのに@1000円の見通しが立ってしまった(なんか間違えている気がする)。

astkastk

6角スペーサの価格は、25mmが@30円、6mmが@15円で、真鍮製もナイロン製もあまり変わらなかった。これで製品単価を考えると

  • 25mmスペーサ: 30 x24 = @720
  • 10mmスペーサ: 20 x6 = @120
  • 6mmスペーサ: 15 x32 = @480

計@1320円程。今のスペースは放熱性能的には結構攻めた密度なので、実際に動かしてファンがうるさくなるなら、スイッチのスペースを丁度いい高さにするのを諦めて全部35mmスペーサで済ませるようにすればもう少し安くなるかも。

astkastk

スペーサを考える。

astkastk

丁度いい長さの6角スペーサを用意するのが現状面倒で、3段重ねでTP-Linkの高さ(立てているので製品的には幅)の 100mm +余裕数mm 程度になると丁度いい。その幅に板材2枚分の厚みが含まれるので、現状では 32mmスペーサ x3 + 3mmアクリル x2 = 102mm にしている。

この 32mm スペーサを現状では 20mmスペーサ +2mmナット +10mmスペーサ という構成にしているが見た目が良くない。スペーサでナットを挟んでいる理由は板材付近にナットを挟み高さを稼ごうとすると板材を貫通するスペーサのネジ部 6mm のうち固定に使える部分が 1mm しか残らないため。

astkastk

スペーサを 25mm +6mm =31mm という内訳にすると 31mmスペーサ x3 + 3mmアクリル x2 =99mm になるので、これのどこかに 1mm 厚のワッシャーを適当に入れて済ませるのもアリかもしれない。

この構成にすると4段重ねに柔軟に対応できる可能性が見えてくる。6mm スペーサを外し1段当たりの高さを 25mm にすると 25mm x4 + 3mm x3 =109mm となり 9mm ほどTP-Linkのスペースに余裕が出てしまうが、基盤が高密度に詰まったインテリアにすることが可能。ただ熱がこもって空冷ファンは相当うるさくなるだろうけれど。

このバリエーションを見越してプロトタイプでは増床用の部品も発注に盛り込んでいる。

astkastk

最下段に熱がこもりがちなので、そこだけ他より高く 25mm +10mm =35mm にして、全体を 35mmスペーサ + 31mmスペーサ x2 + 3mmアクリル x2 =103mm にしてもいいかもしれない。

4段バリエーションも考慮すると必要なスペーサ数は 25mm x28, 10mm x6, 6mm x16 になる。

astkastk

高さ方向のイメージ図を書き起こしてみた。増床のバリエーションは2つ。シルエットのシンプルさを求めるか、放熱性を求めるかで選べるようにする。

astkastk

6mm のスペーサって受け側が 6mm 無いこともあるんだな。知らなかった。ネジが板材を貫通した後の受けにすれば受けの深さが足りない分は板の厚みでカバーできる。スペーサの長短の位置を上の図とは逆にする感じ。

astkastk

せっかくなのでゴム足をつけたい。滑ったり引っ掛けたりして落とすと悲しみが深い課金密度になりつつあるので。

astkastk

https://www.amazon.co.jp/gp/product/B007R9FG5Q
いいものを見つけた。他のは小さくてもΦ12mmのものが多かったのでありがたい。寸法の詳細も書いてあって素晴らしい。丁度発注した板材のRと同じ。

柱とネジを共有する。深さを作図して必要なネジの長さも導く。8-10mmくらいかな。

astkastk

ちょうどいい長さのLANケーブルを作りたい。

astkastk

もう少しスケレタルな感じにしてもかっこいいかなと思った。

astkastk

こちらも木の板を敷いてみる。直線的な形のベースの上に、肉抜きした感じのアクリルを載せるとかっこいいのでは。