こんにちは。AI事業本部の青山(@amsy810)です。

2020年版「おうちKubernetesインターン」を実施したため、事後レポートをブログにまとめたいと思います。

コロナ禍のため、機材一式を学生とメンター宅に郵送し、フルリモートでの実施となりました。
またそれに合わせて3 Daysだったものを7 Daysに伸ばして、初日と最終日以外は夕会だけをコアタイムとしたフレックス性で実施しています。
メンターは私以外に、徳田、川部、漆田、源波、中西、岩立、長谷川が参加しています。

 

概要

今回のおうちKubernetesは Raspberry Pi 4 の 8GB モデル 3台 を使ってクラスタを構成しました。
単純な仕様だと、12 core + 24 GB Memory のクラスタです。もはやノートパソコンに近しい性能ですね。

また、今回 Raspberry Pi 4 になってから最低 2.5A・推奨 3A で USB-C 給電になりましたが、この条件で 3 Port 出力ができる USB 充電器を用意するのは難しいため今回は PoE 給電にしました。
PoE 給電にしたことによって、ケーブルが1本で済むようにもなりました。
純正の PoE Hat を使った場合のデメリットとしては、ファンレスではなくなることで少しだけファン音がするため考慮してください。

材料にもこだわり、約 10cm * 10cm * 10cm の立方体サイズになっています。まさに手のひらサイズ。なお、上部の空きスペースにSSDをつけることもできます。

 

過去のイベントでは、100台の Raspberry Piをつなげるなども行いましたが、今回はオンラインだったため断念しました。

 

材料

「おうちKubernetes CyberAgent風 2020モデル」に必要な材料は下記のとおりです。

機材名 個数 URL
Raspberry Pi 4 8G 3 台 https://raspberry-pi.ksyic.com/main/index/pdp.id/549/pdp.open/549
PoE HAT 3 つ https://jp.rs-online.com/web/p/power-management-development-kits/1735595
micro SD card 32 GB 3 枚 https://www.amazon.co.jp/dp/B07MTCJHP6
ケース 1 台
PoE スイッチ 1 つ https://www.amazon.co.jp/dp/B0763TGBTS
LAN ケーブル 0.15cm 3 本 https://www.amazon.co.jp/dp/B00FZTNJQI/
LAN ケーブル 3m 1 本 https://www.amazon.co.jp/dp/B001BY5BVW/
microHDMI-HDMI 変換ケーブル 1 本 https://www.amazon.co.jp//dp/B08BC1T381/
アクリル板 10cm*10cm*2mm 1 枚 https://www.amazon.co.jp/dp/B07DNDN141
ネジ 12 本 https://www.amazon.co.jp/gp/product/B01MY8E4FF
両面テープ 6 枚 https://www.amazon.co.jp/dp/B07ZCVLBYW/
HDMIキャプチャーボード 必要な場合 https://www.amazon.co.jp/dp/B08BC57X65/
SATA – USB 変換ケーブル 必要な場合 https://www.amazon.co.jp/gp/product/B01I4H2M42

なお、HDMIモニターがない場合には、USB-HDMIキャプチャも送付しました。これを使うことでRaspberry PiのHDMI入力をPC側のカメラデバイスとして認識することが出来るため、PCさえあれば画面を見ることができます。

アクリル板を使ってスイッチとケースをつなげているため、手のひらクラスタなのは変わりません。

物理構築手順

今回は写真付きで物理構築手順を公開しています。興味がある方はGitHubのリポジトリを参照してみてください。
https://github.com/CyberAgentHack/home-kubernetes-2020/tree/master/how-to-create-cluster-physical

論理構築手順

論理構築は「kubeadmで簡単に構築」「The Hard Way の手順で一から構築」の2パターンで実施しました。Kubernetes上にシステムを構築することをメインにインターンシップを行いたい場合には前者を、Kubernetes自体を深く理解したい場合は後者を推奨しています。
こちらも手順を公開しているため、興味がある方はGitHubのリポジトリを参照してみてください。

 

参加者のブログ

参加者の学生が書いてくれたブログもあげておきます。更新があり次第追加していきます。

 

インターンシップ中に社員から行われた LT の資料

インターン期間中に実施した社員LTの資料もあげておきます。

まとめ

今回のおうちKubernetesもとても可愛く仕上がりました。
ぜひ皆さんもおうちで試してみてください!

サイバーエージェントでは様々な技術を使って様々なプロダクト・サービスを開発しています。
ご興味のある方はぜひ話を聞きに来たり、エントリーしてみてください!

今回のおうちKubernetesもとても可愛く仕上がりました。