こんにちは、CAMPHOR- 運営のあたらんです。
5/15にWantedlyのエンジニアの方をお招きして「Custom Controllerを使ってKubernetesを学ぶハンズオン」を開催しました!
今回はZoom枠とYouTube枠を用意し、合計60人以上の方に参加していただきました!
Kubernetesのカスタムコントローラーを実装することでKubernetesの内部構造を学び、理解を深めるという内容になってます。ハンズオンはKubernetesの概要の説明から始まっているので、初心者の方から実際の開発でKubernetesを使用したことがある方まで楽しめる内容になっていると思います!
アーカイブは以下から見ることができます。
資料は以下で公開されています。
https://hackmd.io/@h4wKR5OGRjquop_DpwjBcQ/Sk9oK03du
Kubernetes 概論及び問題設定の説明
Kubernetesの概要の説明をしたあと、minikubeをつかって性質を理解するというパートになっています。podをdeleteしても別のpodが立ち上がり、元の状態に自動で修復されることを通して、manifestに記述された理想の状態を維持するように動くという性質を確かめています。
Hello World 相当のカスタムコントローラー実装
Kubernetesの重要な概念であるリソースとコントローラーについて解説していただいた後、Numberというシンプルなリソースを実装してみるパートになっています。
実装したNumberリソースとMathコントローラーを用いてFizz Buzzを解いたり、平方数であるかを保持する状態を定義しています。
カスタムコントローラー Tuple の実装
このパートでは、前パートで実装したNumberリソースを用いて、親リソースであるTupleを実装するという内容になっています。宣言的にTupleの理想状態を定義して、deleteなどで理想状態が崩れた際にself healingされる様子を学ぶことができます!
実際の数学の問題を解けるコントローラーへの発展
最後に、Kubernetesを用いて簡単な数学の問題を解いています。より具体的には、「4を法として1に合同な素数は二個の平方数の和で表される。」という定理を確かめるために、その数がこの定理の条件を満たす場合、2つの平方数とは何かを求めます。
おわりに
今回のイベントは2時間半では時間が少なすぎるほど濃い内容となっています。アーカイブや資料は公開されているので、興味を持たれた方は是非見てみてください!参加者のみなさん、Wantedlyのみなさん、当日はありがとうございました!