Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GKEを利用したサービスの運用

 GKEを利用したサービスの運用

GCPUG Fukuoka ~ GKE / k8s 祭 & LT大会 ~

Bb7365b9e38b1dc8ccb76d555ee1ddc2?s=128

Ryosuke Suto

March 24, 2018
Tweet

Transcript

  1. GKEを利用したサービスの運用 Ryosuke Suto 2018/03/24 GCPUG Fukuoka ~ GKE / k8s

    祭 & LT大会 ~
  2. •須藤 涼介 @strsk •株式会社サイバーエージェント •技術本部 •サービスリライアビリティーグループ(SRG) •エンジニア/マネージャー

  3. None
  4. None
  5. 以前のAbemaTV クラスターの設計 マニフェストファイルの管理 サービスメッシュ 監視 その他、周辺ツールの選定 今日はなすこと

  6. うちではGKE(k8s)をこう使ってます 今日はなすこと

  7. AbemaTV

  8. ※リリース当初の構成です

  9. None
  10. •- node x00台 •- 同時接続x十万 •- デプロイ •- kubetool ->

    Deploykun •- ChatOps •- リリース共有、カナリアリリース • https://www.wantedly.com/companies/abema/post_articles/73396 AbemaTV
  11. •- ロギング •- CloudLogging + CloudPub/Sub •- Podの標準出力はLogging •- アプリケーションのログはPub/Subへ

    •- Pub/Sub -> BigQuery, etc… •- 監視ツール •- Stackdriver, Prometheus • https://www.wantedly.com/companies/abema/post_articles/73396 AbemaTV
  12. •- 組織/システム的にマイクロサービスアーキテクチャを採用するようになる •- であれば各機能ごとにリリースもしやすいDocker一択 •- 開発初期は逆に属人性を生みやすい一面も •- 社内でもノウハウが溜まってくる •- 何より開発が活発

    k8s採用の背景
  13. もっと気になる方へ IUUQTTQFBLFSEFDLDPNSNSGTMBOUUIFTUPSZCFIJOEBCFNBUW

  14. 最近のはなし

  15. クラスターの設計

  16. GKEクラスターノードの  ・台数  ・スペック クラスターの設計

  17. ホストダウン時のリスクを考える →1/3台がホストダウン=キャパ33%減 →1/10台がホストダウン=キャパ10%減 クラスターの台数

  18. ノード数の増加 || k8sバージョンアップにかかる時間の増加 クラスターの台数

  19. 台数に見合ったスペック (過剰すぎないくらいの) ノードのスペック

  20. マニフェストファイルの管理

  21. Helm マニフェストファイルをパッケージング(Chart)  ・k8sをOSとするとHelmがyumやaptみたいなもの  ・複数のマニフェストファイルを一括でデプロイ可能  ・作成したChartもGCS上のrepoからインストール可能 マニフェストファイルの管理

  22. ## helmのデプロイを行ってくれるコンポーネント(tiller)をデプロイ $ helm init ## chartの検索 $ helm search

    redis ## redisの起動 $ helm install -f config.yaml stable/redis Helmの使用例
  23. サービスメッシュ

  24. サービスメッシュとは? マイクロサービスによって起こるネットワーク間通信のさまざまな 問題を解決するツールやアーキテクチャ ロードバランシングやセキュリティなどサービスロジックとは切り離 された部分を担う サービスメッシュ

  25. Envoy サービスのインバウンド/アウトバウンドの通信を管理するプロキ シ Podのサイドカーとしてデプロイする ※サイドカー=Podのメインコンテナの補助をするコンテナ Istioというサービスメッシュツールの一部 サービスメッシュ

  26. 監視

  27. Prometheus, Grafana Pull型の監視ツール  ・StackdriverではPod内など細かくモニタリングできない  ・エンドポイントを作り一定間隔で取得、時系列DBに保存  ・Grafanaでダッシュボードを作成し可視化 監視

  28. Grafana イメージ図

  29. その他周辺ツールの選定

  30. CNCF(Cloud Native Computing Foundation) https://www.cncf.io/ k8sをはじめとするクラウドネイティブなOSSを推進する団体 Prometheus,Envoy,Fluentd,gRPCなど CNCFにホストされているプロダクトをチェックしておくと◎ その他周辺ツールの選定

  31. まとめ

  32. 運用ツールの進化、標準化がどんどん進んでいる CNCFの動きは要チェック 今ならk8sが使いやすい まとめ

  33. 宣伝

  34. 入門Kubernetes好評発売中!

  35. 一緒にはたらく仲間を募集しています! https://cyberagent-career.jp/ recruit/joboffer/81/112359/71-361

  36. None