Slide 1

Slide 1 text

GKEを利用したサービスの運用 Ryosuke Suto 2018/03/24 GCPUG Fukuoka ~ GKE / k8s 祭 & LT大会 ~

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

AbemaTV

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

•- node x00台 •- 同時接続x十万 •- デプロイ •- kubetool -> Deploykun •- ChatOps •- リリース共有、カナリアリリース • https://www.wantedly.com/companies/abema/post_articles/73396 AbemaTV

Slide 11

Slide 11 text

•- ロギング •- CloudLogging + CloudPub/Sub •- Podの標準出力はLogging •- アプリケーションのログはPub/Subへ •- Pub/Sub -> BigQuery, etc… •- 監視ツール •- Stackdriver, Prometheus • https://www.wantedly.com/companies/abema/post_articles/73396 AbemaTV

Slide 12

Slide 12 text

•- 組織/システム的にマイクロサービスアーキテクチャを採用するようになる •- であれば各機能ごとにリリースもしやすいDocker一択 •- 開発初期は逆に属人性を生みやすい一面も •- 社内でもノウハウが溜まってくる •- 何より開発が活発 k8s採用の背景

Slide 13

Slide 13 text

もっと気になる方へ IUUQTTQFBLFSEFDLDPNSNSGTMBOUUIFTUPSZCFIJOEBCFNBUW

Slide 14

Slide 14 text

最近のはなし

Slide 15

Slide 15 text

クラスターの設計

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

## helmのデプロイを行ってくれるコンポーネント(tiller)をデプロイ $ helm init ## chartの検索 $ helm search redis ## redisの起動 $ helm install -f config.yaml stable/redis Helmの使用例

Slide 23

Slide 23 text

サービスメッシュ

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

監視

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

Grafana イメージ図

Slide 29

Slide 29 text

その他周辺ツールの選定

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

まとめ

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

宣伝

Slide 34

Slide 34 text

入門Kubernetes好評発売中!

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

No content