Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
パブリック/プライベートクラウドでつかうKubernetes
Search
Ryosuke Suto
October 12, 2017
Technology
1
2.4k
パブリック/プライベートクラウドでつかうKubernetes
Ryosuke Suto
October 12, 2017
Tweet
Share
More Decks by Ryosuke Suto
See All by Ryosuke Suto
横断的なSRE推進と成熟度評価
strsk8
9
8.1k
GKEを利用したサービスの運用
strsk8
1
640
GKE@AbemaTV
strsk8
12
9.4k
re:Invent2015参加レポ
strsk8
0
310
成長し続けるインフラの安定運用事情
strsk8
19
5.2k
ソーシャルゲームDBの危機回避
strsk8
10
14k
Other Decks in Technology
See All in Technology
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
570
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
130
AIエージェントで90秒の広告動画を制作!台本・音声・映像・編集をつなぐAWS最新アーキテクチャの実践
nasuvitz
0
120
テストを軸にした生き残り術
kworkdev
PRO
0
210
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.3k
La gouvernance territoriale des données grâce à la plateforme Terreze
bluehats
0
180
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
390
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
850
S3アクセス制御の設計ポイント
tommy0124
3
200
まずはマネコンでちゃちゃっと作ってから、それをCDKにしてみよか。
yamada_r
2
110
Aurora DSQLはサーバーレスアーキテクチャの常識を変えるのか
iwatatomoya
1
1k
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
430
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
56
13k
Building Adaptive Systems
keathley
43
2.7k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
530
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
How to Ace a Technical Interview
jacobian
279
23k
Statistics for Hackers
jakevdp
799
220k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
Fireside Chat
paigeccino
39
3.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
Transcript
パブリック/プライベートクラウドでつかう Kubernetes Ryosuke Suto 2017/10/12 Kubernetes Meetup Tokyo #7
•須藤 涼介 @strsk •株式会社サイバーエージェント •技術本部 •サービスリライアビリティーグループ(SRG) •QC室 •エンジニア/マネージャー
Kubernetes
Public Cloud
None
None
•- node 200台 over •- 同時接続数十万 •- デプロイ •- kubetool
-> Deploykun •- ChatOps •- リリース共有、カナリアリリース AbemaTV • https://www.wantedly.com/companies/abema/post_articles/73396
•- ロギング •- CloudLogging + CloudPub/Sub •- Podの標準出力はLogging •- アプリケーションのログはPub/Subへ
•- Pub/Sub -> BigQuery, etc… •- 監視ツール •- Stackdriver, Prometheus AbemaTV • https://www.wantedly.com/companies/abema/post_articles/73396
Private Cloud (OpenStack)
•- 既存サービスのリプレース用 •- 開発環境構築中 •- レガシー環境、開発手法のモダン化 •- クラスター構築 •- kubespray(Ansible)
OpenStack
•- Dockerイメージ •- GCR •- ロギング •- 魔改造したFluentdからCloudLoggingへ •- 監視ツール
•- Datadog OpenStack
Private Cloudでのk8s運用 •- kubesprayでのデプロイが遅め •- 使わない部分も汎用的に記述されているため工夫が必要 •- すべて内部で完結させてしまうと運用コストが高くなる •- 適度に組み合わせて外に逃がす
Kubernetes採用の背景
•- 組織/システム的にマイクロサービスアーキテクチャを採用するようになる •- であれば各機能ごとにリリースもしやすいDocker一択 •- 開発初期は逆に属人性を生みやすい一面も •- 社内でもノウハウが溜まってくる •- 何より開発が活発
課題との歴史
デプロイフロー初期 •- あたたかみのある手動デプロイ •- Dockerイメージ自体はCircle CIでビルドしレジストリにPush •- 運用が初めてだったこともあり、開発時はkubectlによるリリースがデフォ •- 開発スケジュールが優先され、デプロイ周りを整えられないままローンチ
•- リリース時にSlackに連絡、手動でデプロイして様子を見て反映 •- 当然ながらオペミスが多発
デプロイフロー中期 •- 手動カナリアリリース •- ミスしても問題ないよう1Podだけリリースできるツールを開発 •- リリース時は1Podのみリリースし、しばらく問題がなければ全台に適用 •- 大きなミスは起きないまでも根本解決になっていない…
デプロイフロー後期 •- ChatOps •- リリース作成もカナリアリリースもSlack上からできるように! •- 手動からの解放 •- オペミスの削減
デプロイフロー後期
デプロイフロー今後 •- パイプラインベースのCI •- Spinnaker, Concourse CI, etc… •- 新規サービスで採用予定
•- カナリアリリース、判定、ロールバックを自動化 •- 社内に有識者がいたためConcourse CIを採用
デプロイフロー今後 •- Concourse CI •- Pivotalが開発 •- Go言語製 •- YAMLでジョブ、パイプラインを記述し結果をUIで見れる
デプロイフロー今後 •- Helmの導入検証 •- Kubernetesのパッケージマネージャ(rpmに対してyumのような) •- yamlファイルの作成コストを減らしたい •- Kubernetesの採用がより増えることを見越して
大量のロギング •- ログはFluentdで各ログストレージへ •- ログの量が多すぎてFluentdが高負荷に •- 標準出力は変わらずFluentdからCloud Loggingへ •- アプリケーションログはCloud
Pub/Subへ送り、Big Queryにバルクインサート
大量のメトリクス •- Podの監視はStackdriverでOK •- サービスが拡大し、Podが大量になるとStackdriverの表示が遅延 •- Prometheusの導入 •- ServiceにExporter用のendpointを追加 •-
Podが増減しても自動的に収集される •- より詳細かつ円滑な表示が可能に
まとめ
まとめ •- デプロイフローはまだまだ改善の余地あり •- 規模が大きくなった時のスケーリングが大事(当たり前) •- 自前でkubernetesを立てるときは全部管理しようとしない
一緒にはたらく仲間を募集しています! https://cyberagent-career.jp/ recruit/joboffer/81/112359/71-361