Septeni Engineer's Blog

セプテーニ・オリジナルのエンジニアが綴る技術ブログ

新宿Geek Lounge#6 Kubernetes Meetupを開催しました

こんにちは。セプテーニ・オリジナルの池田です。

12月11日に弊社で「新宿Geek Lounge#6 Kubernetes Meetup 」を開催しました!

テーマはKubernetesの導入した経験談(成功、失敗)やベストプラクティスです。

セプテーニ ・オリジナルでKubernetesを導入した弊社の高嶋さんと、ゲストスピーカーとしてkube-awsのメンテナーの九岡さんに登壇頂き、LTとしてビズリーチ@HonMarkHuntさんに発表して頂きました。


目次

業務でバッチのジョブを基盤としてk8sを活用した話

まずはセプテーニ・オリジナルでKubernetesの導入を進めてくれた高嶋さんの発表です。

セプテーニ・オリジナルの高嶋さん

セプテーニ・オリジナルのバッチジョブの歴史から、Kubernetesを採用するまでのプロセスを丁寧に解説して頂きました。

当初のバッチジョブでは、Web アプリ同梱でマシンリソースが有効に活用されていない、実行履歴がわかりにくいなど、色んな問題がありました。その後Akkadigdagにチャレンジし、現在Kubernetes Jobを活用し、digdag + kubernetes でバッチジョブを快適に行うことに成功した内容で、バッチ周りで考慮すべきことや、バッチジョブの歴史がまとめられていて、とても面白い発表でした。

ただこれからGKE でワークフローエンジンを導入するのであれば、Cloud Composerを検討してみても良いとのことです。

gitpitch.com

資料

Continuous Deployments to Multiple Kubernetes Clusters

続いてkube-awsのメンテナーであられる九岡さん。九岡さんはfreee株式会社のプロダクト基盤本部SREにお勤めされながら、kube-aws以外にも helmfile, brigade, awsbeatsなど多くのOSSのメンテナーをされています。 また普段は香川にいらっしゃるのですが、今回都合をつけて東京へ来て頂きました!

▲ 九岡さん

複数のKubernetes Clustersに継続的にデプロイするベストプラクティスについてと、Kubernetesを本番運用で選定するための参考になるお話を発表して頂きました。

  • Kubernetes Clustersのアップデートについては、GKEmasternode などのアップデート機能もあるが、必ず成功する保証がないため、Blue-Green Deploymentを目指してTraffic Shiftingを徐々に使って行きましょう。

  • StatefulSetは、バックアップなど運用を助けてくれないので、使わないようにしましょう。

  • Kubernetesは基本的に使うべきではない。 簡単なものであればECSとかで良い。簡単でないものはKubernetesを使いましょう。

  • ただLambdaECSより汎用的で学習コストが高いが、OSSとして解放されているのでエコシステムが使える点がメリットである。

    • 例えばECSでちょっと大きなクラスターを使おうとするとリミットに引っかかる可能性があるが、Kubernetesはレートリミットに引っかかることはないなど。
  • KodeDeployは九岡さんが作られたAWSのコードサービスCodeDeployのラッパーで、Kubernetesに継続的にデプロイができるツール。ラッパーとして薄く作成しているため、理解しやすく、他のツールにも容易に置き換え可能である。

他にも Spinnakerなどお話を頂きましたので是非九岡さんのスライド資料をお読みください。

www.slideshare.net

I don't use kubernetes.

最後はLT枠に発表して頂いた株式会社ビズリーチ@HonMarkHuntさん。HonMarkHuntさんはよくLTをされており、今回もLTの内容と発表ともに面白かったです。

▲ HonMarkHuntさん

こちら一見タイトルからKubernetesの話が聞けないのではと思いきや、Kubernetesを業務に採用しようとしたプロセスや問題点などをとてもリアルに説明して頂き、参加者からも共感する声が多かったです。

  • 過去にKubernetesの構築、運用を経験さていた。
  • 新規の立ち上げプロジェクトでKubernetesを計画。
  • ECS も使っているしアプリもほとんどコンテナ化、Kubernetes移行もすぐにできるかと思いきや。。
  • ミドルウェアや環境毎の差異など考えなければいけないことがたくさんある。
  • そもそも立ち上げでKubernetesは適切なのか?podは多分ずっと1個だし、導入期のサービスにKubernetesはtoo machではないのか。
  • Kubernetesを採用すると、人と時間が足りないので、専任の人が必要が欲しい。

特に「世界中でk8sの勉強会/カンファレンスが開催されてる ということは、世界中でみんな悩んでる。悩んでいなければこんなに盛り上がらない」という話はそういうことかと納得しました。

www.slideshare.net

懇親会

▲ 懇親会のお食事。

最後は新宿Geek Loungeで定評のあるヘルシーなお食事とお飲物で懇親会です。

様々なバックグランドの方とイベントの終了まで、意見交換をして親睦を深めました。

さいごに

今回は、Kubernetesを実運用する上での様々な話が聞けました。

  • Kubernetesを導入してマシンのリソースを有効に使うことに成功した
  • Kubernetesを使う上でのメリット、デメリット、問題点などを挙げて、どういったケースで使うべきなのか?そしてどう運用するのがよいのか?
  • 新しいプロダクト立ち上げ期にKubernetesを導入しようとして、多くの学びがあった

Kubernetes導入する上で色んなチップスが詰まった内容で、とても楽しかったです。

また当日は雨天で足元も悪いなか多くの方にお集まり頂きました。 ご来社、ご講演いただいた皆様に改めて御礼申し上げます。

次回は3月頃に新宿Geek Lounge#7を実施したいと思います。

どうぞよろしくお願いします。