こんにちは。セプテーニ・オリジナルの池田です。
12月11日に弊社で「新宿Geek Lounge#6 Kubernetes Meetup 」を開催しました!
テーマはKubernetesの導入した経験談(成功、失敗)やベストプラクティスです。
セプテーニ ・オリジナルでKubernetesを導入した弊社の高嶋さんと、ゲストスピーカーとしてkube-awsのメンテナーの九岡さんに登壇頂き、LTとしてビズリーチ の@HonMarkHuntさんに発表して頂きました。
目次
- 業務でバッチのジョブを基盤としてk8sを活用した話
- Continuous Deployments to Multiple Kubernetes Clusters
- I don't use kubernetes.
- 懇親会
- さいごに
業務でバッチのジョブを基盤としてk8sを活用した話
まずはセプテーニ・オリジナルでKubernetesの導入を進めてくれた高嶋さんの発表です。
▲ セプテーニ・オリジナルの高嶋さん
セプテーニ・オリジナルのバッチジョブの歴史から、Kubernetes
を採用するまでのプロセスを丁寧に解説して頂きました。
当初のバッチジョブでは、Web アプリ同梱でマシンリソースが有効に活用されていない、実行履歴がわかりにくいなど、色んな問題がありました。その後Akka
、digdag
にチャレンジし、現在Kubernetes Job
を活用し、digdag
+ kubernetes
でバッチジョブを快適に行うことに成功した内容で、バッチ周りで考慮すべきことや、バッチジョブの歴史がまとめられていて、とても面白い発表でした。
ただこれからGKE でワークフローエンジンを導入するのであれば、Cloud Composerを検討してみても良いとのことです。
Continuous Deployments to Multiple Kubernetes Clusters
続いてkube-awsのメンテナーであられる九岡さん。九岡さんはfreee株式会社のプロダクト基盤本部SREにお勤めされながら、kube-aws以外にも helmfile, brigade, awsbeatsなど多くのOSSのメンテナーをされています。 また普段は香川にいらっしゃるのですが、今回都合をつけて東京へ来て頂きました!
▲ 九岡さん
複数のKubernetes Clusters
に継続的にデプロイするベストプラクティスについてと、Kubernetes
を本番運用で選定するための参考になるお話を発表して頂きました。
Kubernetes Clusters
のアップデートについては、GKE
でmaster
やnode
などのアップデート機能もあるが、必ず成功する保証がないため、Blue-Green Deployment
を目指してTraffic Shifting
を徐々に使って行きましょう。StatefulSet
は、バックアップなど運用を助けてくれないので、使わないようにしましょう。Kubernetes
は基本的に使うべきではない。 簡単なものであればECS
とかで良い。簡単でないものはKubernetes
を使いましょう。ただ
Lambda
、ECS
より汎用的で学習コストが高いが、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を実施したいと思います。
どうぞよろしくお願いします。