Kubernetesハッカソンに参加してきた

初めに

みなさん、こんにちは。オンプレでKubernetesを構築して挫折した id:unimarimoです。今回MicrosoftのてらだよしおさんがAzure Kubernetes Service(以下AKS)を用いて無料の範囲内でできることを、ハッカソンとして開いていただきそれに参加したことについてのブログです。

1日目

1日目です。最初はチームで分けることになりました。私はKubernetesを何度か触れたことがあるので触ったことのあるチームで参加しました。もう一つのチームはKubernetesをあまり触ったことがないチームと別れてハッカソンを開始しました。最初に冒頭で説明した通りオンプレでのKubernetesの環境を構築して壊れました。私はこの時点で長く険しいKubernetesとの戦いが始まるのだろうと思っていました。しかし、AKSが優秀すぎて構築をGUI上でぽちぽちするだけで構築ができることに驚きました。踏み台サーバを構築して、わずか10分程度でクラスターを作成することができました。次に、クラスター内にノードを作成しました。masternodeとnode1の2台構成です。そして最初に作成したコンテナイメージはNode.jsで書いてHelloWorldをcurlで叩いて返すものでした。実際にこれをAKSでコンテナレジストリーを作ってそこにimageをpushしました。次にこれをpodという最小単位でデプロイします。最初に行ったのがDeploymentでpodを作成しました。これでCurlで叩けばHelloWorldを返してくれます。オンプレのとき環境壊れてしまってここまで行けてなかったので感動しました。次にServiceでのpodのデプロイです。今回は二つ作りそれをデプロイしました。これで興味深かったのでlavelのversionを指定しないでcurlで叩くとLoadbalncerのように別々のPodのHello World-v1,Hello World-v2が帰ってくるのが面白かったです。ちなみにlabelのversionをすればその指定したものしか帰ってこないのもこんなに手軽にできることに驚きました。ここでひとまず1日目は終了です。Kubernetesの素晴らしいところとAKSの素晴らしいところが見れました。

2日目

2日目です。この日は最初にチームですることを決めました。することとしてはlog調査について行いました。logの調査はコンテナ内のlogファイルはどうするのかと思っていましたがAKSで確認することができるようで、なんとクエリを書くだけでそのlogファイルが見えるようです。本当にAKS便利だなと実感しました。次にKubernetesのCI/CD周りについてです。私自身CircleCIなどと合わせて使うものだと思っておりましたし、KubernetesのCI/CD一体どうやるんだっと思っていました。しかし、Azure DevOpsによってその問題は解決しました。やってもらえることとしてはCIの機能とデプロイ機能の両方をやってくれます。私自身CirlclCIを使用するとき自分でyamlを書いてテストをしていましたが、Azure DevOpsはGUI上でWorkFlowを決めることができるので使用者に対してインフラ周りのことを気難しく考えなくていいのがいいですね。次にKubernetesへのデプロイです。これもほとんどGUI上で行うことができます。一部yamlを書かなければなりませんが使用者へのストレスがあまり感じられませんでした。ここまで完成されたことをAzure DevOpsは機能をほぼ無料で使えるそうで、人数も5人までなら課金する必要性がないそうです。

まとめ

以上2日間のまとめを書きました。上記以外にもやったこともありますが一部理解が足りてなくて間違えている部分もあると思いますので教えていただけると幸いです。今回初めてではないですが、こんなに深く長くクラウド技術に触れたのは初めてでした。私の知らないことだったり、すでにある知識も深められたりなどとても充実したハッカソンでありました。また、沖縄でKubernetesの詳しいお話、ハンズオンなどもなかなか見つけられず今回参加できたことは大きかったです。これを気にクラウドサービスを無料の範囲内で使用したいと思いました。最後に、一緒にチームだった方、Microsoftのてらだよしおさん、今回のハッカソンに関わった方に深くお礼を申し上げます。以上でこのブログの記事は終わろうと思います。

最後

オンプレでのKubernetesチャレンジは時間が許す限りしていこうと思うので何か進展があったらブログに残そうと思います。ありがとうございました。