Kubernetes Meetup #22 に参加してきました
はじめに
Kubernetes Meetup #22 にブログ枠として参加させていただきました!
今回は会場がほとんど満席でしたが、YouTube Liveで同時配信されているため、後でも確認できるところが良いところですね。
セッションは、 「もともとAWSを使っていてKubernetesに移行する」 という話が多く、GKEで1から構築したことしかない自分にとっては、移行時の苦労話などは新鮮でした。
このイベントレポートでは個人的に気になった部分のみをまとめます。
Kubernetes Meetup Tokyo とは
Kubernetes Meetup Tokyoは、Kubernetesユーザが集まり、KubernetesやKubernetesを使ったソフトウェアについて情報交換、交流をするための勉強会となっています。勉強会の開催を通じて、Kubernetesのユーザが一堂に集まり、Kubernetesにまつわる様々な分野の知識や情報を交換し、新たな友人やコミュニティとのつながり、仕事やビジネスチャンスを増やせる場所とすることを目標としています。
AWS EKSを用いた開発環境の構築 和田 拓朗
開発検証用のマシンが一台しかない状態から、開発者ごとにServiceを作成して、ブロッキングすることなく開発を進められるようにしているのは素晴らしいと感じました。
Kubernetesを使うに至るまでの過程
Kubernetesの導入で達成したこと
- 開発者がそれぞれの開発環境で動作確認を簡単にできるようにした
- 開発ブランチがPushされるとEKSにServiceが作成され、動作確認がしやすくなった
- 開発環境のURLは一意にして、クライアントからEndpointを切り替えてアクセスできるようにした
https://feature-a.smartnews.xxx
のようなドメインで受けて、Nginxで各Serviceに振り分けている
<スライド公開待ち>
はてなでのKubernetes利用の取組みとこれから 今井 隼人
導入から撤退までの話はとても貴重でした。知見として 「構築できるからと言って運用できるわけではないこと」 や 「ドキュメントの充実・学習環境の整備」 などが挙げられていました。
これから既存のシステムをKubernetesに移行する方には、とても有益な情報だと感じました!
Kubernetesの導入
- インフラ管理コスト削減、コンテナ監視ノウハウ、デファクトスタンダードという点からKubernetesを導入した
- Kubernetesは影響範囲の小さいCrawlerのみに導入した
- Crawlerのアーキテクチャは既存のVMとKubernetesの両方を搭載している
Kubernetes運用の課題
- 学習コストの高さ、定期的なアップデートの対応、運用リソース不足が課題
- Kubernetesクラスタのメンテナンスとアップデート対応が十分にできないことから、Kubernetesを一時撤退した
徹底とこれから
- 本番環境はロードバランサからKubernetesのNodePortを外すだけで撤退完了
- 撤退したが導入時点の課題は解決する必要がある
- VM→ECS→EKSというように移行していく
PayPay での Kubernetes 活用事例 小澤 真佐也
リソースがない中で、キャンペーンを柔軟な対応で捌いていました。短い期間でのリリースや、新施策の対応とKubernetes環境の整備を両立しているのはさすがだなと感じました。
100億円キャンペーンによる高負荷をKubernetesで捌く
- アクセスの急増によりシステムが不安定な状況に
- Deploymentを複製し、Read系とWrite系でEndpointを呼び分ける
- Read系:Slave DBから読み取り
- Write系:Master DBに書き込み
- パフォーマンスチューニングの調査にコストがかかる
- New Relic でメトリクスを可視化しボトルネックの発見を効率化した
- 認証サービスに負荷が集中した
- 認証サービスの認証機能とユーザー情報管理機能等を切り分けた
- Deploymentを複製し、認証のアクセスを新しいServiceに向けた
<スライド公開待ち>
LT大会
LTはTipsとして有用なものが多くあったので紹介します!
「Kubernetes実践ガイド」を書きました - hhiroshell
サイン付きのKubernetes実践ガイドを抽選していました!
自分も当選しましたが電子書籍と紙書籍の両方で持っていたのでパスしました。
Kubernetes上で単発のジョブを実行するkube-jobというツールを作った - h3_poteto
KubernetesのCronJobのデメリットを自作ツールでカバーしたことの紹介でした。
認証の仕組みとclient-go credential plugin - int128
認証の動作について詳しく説明されていてとても勉強になりました。
Amazon EKSでFluentBitを使ってKinesis Firehoseへログを転送する手法 - isao
軽量なFluent Bitを使ったログ転送の紹介でした。
Fluentd利用前提の方に対してのTipsとして良いと思いました。
k8sによるスケーラブルジョブ基盤構築 - kekekenta
スケールの問題に対してKubernetesをうまく使って解決できていたのは素晴らしいと感じました。
まとめ
他社でのKubernetesの運用の知見を聞くことができたのは良かったです。また、EKSが東京リージョンに対応していないときの話だったので、どのような技術選定をしてKubernetesの利用に至ったのかも知ることができました。
今回のセッション中でも知らないツールやライブラリがありましたが、Kubernetesのエコシステムはとても多く、名前は知っているけれど触ったことがないものがあるので、今後の記事でまとめられたらと思います!