DMMプラットフォーム ゼロから始めるKubernetes運用 課題と改善
by
pospome
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
DMMプラットフォーム ゼロから始めるk8s運用 課題と改善
Slide 2
Slide 2 text
スピーカー 名前:pospome(ぽすぽめ) 所属:DMM Twitter:https://twitter.com/pospome 職種:サーバサイド & SRE見習い
Slide 3
Slide 3 text
ゼロから始めるk8s運用 課題と改善 k8sを運用して直面した課題 1. 引き継いだGKEクラスター 2. SREチームのエンジニアが足りない 3. SREチームにk8sの知見が足りない 4. k8s利用者の学習コストが高い
Slide 4
Slide 4 text
DMMプラットフォームの概要 扱う領域:会員、決済、不正対策、認証認可など エンジニア数:100名以上 開発チーム:16チーム マイクロサービス数:約40サービス ピーク時のリクエスト数:14,000RPS
Slide 5
Slide 5 text
マイクロサービスアーキテクトグループ SREチーム k8sクラスターを運用している。 DMMプラットフォームのインフラ周りのエコシステムを構築 し、組織全体の開発効率とセキュリティレベルを向上させる ミッションを持つチームである。
Slide 6
Slide 6 text
DMMプラットフォーム ざっくりシステムアーキテクチャ GKEクラスター API Gateway (golang) Client Microservices オンプレ Microservices
Slide 7
Slide 7 text
GKEクラスターについて ● DMMプラットフォームにて共通利用する。 ● オンプレ上のアプリケーションの移行先である。
Slide 8
Slide 8 text
ゼロから始めるk8s運用 課題と改善 1. 引き継いだGKEクラスター 2. SREチームのエンジニアが足りない 3. SREチームにk8sの知見が足りない 4. k8s利用者の学習コストが高い
Slide 9
Slide 9 text
ゼロから始めるk8s運用 課題と改善 1. 引き継いだGKEクラスター 2. SREチームのエンジニアが足りない 3. SREチームにk8sの知見が足りない 4. k8s利用者の学習コストが高い
Slide 10
Slide 10 text
課題:引き継いだGKEクラスター 運用に必要な仕組みが整っていなかった。 ● Alert/Monitoring ● クラスターアップグレード ● その他いろいろ
Slide 11
Slide 11 text
安定運用できる仕組みを整える 主に以下を実施した。 1. Datadog による Metrics, Monitor, SLO の整備 2. クラスターのアップグレードルールの定義 3. GKEやアプリケーションの各種設定の導入 4. 運用定例の実施
Slide 12
Slide 12 text
組織としてk8sをどのように活かすか 専任のチームがないと運用するのは難しい。 専任のチームを作り、マルチテナント & エコシステム活用に よって組織全体の開発効率を向上させる戦略を取る必要 がある。 Cloud Run, ECSの下位互換にならないように・・・。
Slide 13
Slide 13 text
ゼロから始めるk8s運用 課題と改善 1. 引き継いだGKEクラスター 2. SREチームのエンジニアが足りない 3. SREチームにk8sの知見が足りない 4. k8s利用者の学習コストが高い
Slide 14
Slide 14 text
課題:SREチームのエンジニアが足りない 当時の立ち上げたばかりのSREチームはエンジニアが1名 + pospome の2名体制だった。 シンプルにエンジニアが足りない。
Slide 15
Slide 15 text
SREチームが開発で意識していること ● 一元管理 ● 自動化 ● スケールする仕組みづくり
Slide 16
Slide 16 text
“スケールする仕組みづくり”は最も重要である GKEの利用者や稼働するアプリケーション数に比例して SREチームのエンジニア数を増やさなくて良いようにする。
Slide 17
Slide 17 text
仕組み:k8sマニフェストをモノレポで管理する アプリケーションごとに ディレクトリを用意し、 コードオーナーを設定する。 利用者が自分で管理し、 更新することができる。
Slide 18
Slide 18 text
仕組み:マニフェストファイルの新規作成 GitHub Actions WorkFlow から 新規アプリケーションの マニフェストファイルを作成できる。 SREの承認なしで利用者が作成できる。
Slide 19
Slide 19 text
仕組み:マニフェストファイルに対するCI 適切なマニフェストファイルであることをCIでチェックしてい る。 最低限のガードレールは必要になる。 e.g. ポッドの CPU, Memory の request/limit の指定がある かどうか。
Slide 20
Slide 20 text
仕組み:CDパイプライン CDパイプラインとしてSpinnakerを採用している。 利用者が自分でデプロイできる。
Slide 21
Slide 21 text
仕組み:RBACによる権限管理 1アプリケーション = 1Namespace の構成にしている。 Namespace単位のRBACは利用者自身で管理してもらう。 チームの都合に合わせて権限管理できる。
Slide 22
Slide 22 text
SREチームが開発で意識していること 仕組み 一元管理 自動化 スケールする マニフェストファイル 管理 o - o マニフェストファイル CI - o o マニフェストファイル 作成 - o o CDパイプライン o - o RBAC - - o
Slide 23
Slide 23 text
スケールする仕組みづくりの実現方法 利用者にオーナーシップを持たせることで、利用者自身で 安全に作業が完結しするような仕組みを目指す。
Slide 24
Slide 24 text
スケールする仕組みづくりの実現方法 マニフェストファイル、Namespace、RBACなどあらゆるリ ソースをアプリケーション単位で管理している。 SREチームが開発した仕組みが組織体制の変更による影 響を受けないようにしている。
Slide 25
Slide 25 text
利用者のオーナーシップ vs SREによる管理 どこまでオーナーシップを持たせるのかが重要である。 オーナーシップと安全性を天秤にかける。
Slide 26
Slide 26 text
ゼロから始めるk8s運用 課題と改善 1. 引き継いだGKEクラスター 2. SREチームのエンジニアが足りない 3. SREチームにk8sの知見が足りない 4. k8s利用者の学習コストが高い
Slide 27
Slide 27 text
課題:SREチームにk8sの知見が足りない GKEの構築・運用経験に乏しく、知識と経験が足りなかっ た。
Slide 28
Slide 28 text
課題:SREチームにk8sの知見が足りない 事故りながら知見を得た。 ● 特定のノードのLoad Averageが極端に高い → Deschedulerの導入 ● Egress がドロップする →Cloud NATの設定変更
Slide 29
Slide 29 text
課題:SREチームにk8sの知見が足りない 問題を最小限に抑える必要がある。 ● 監視(Datadog Monitor)による異変の検知 ● 運用定例によるメトリクス確認 ● サンプルアプリケーションの開発・運用
Slide 30
Slide 30 text
課題:SREチームにk8sの知見が足りない オンプレからGKEへの移行ということもあり、ゆっくりとアプ リケーションが増えていったので、仕組みづくりや知見獲得 に時間をかけることができた。
Slide 31
Slide 31 text
ゼロから始めるk8s運用 課題と改善 1. 引き継いだGKEクラスター 2. SREチームのエンジニアが足りない 3. SREチームにk8sの知見が足りない 4. k8s利用者の学習コストが高い
Slide 32
Slide 32 text
課題:k8s利用者の学習コストが高い 開発チームにはk8sやCDパイプラインなどのエコシステム を理解してもらう必要がある。 SREのサポートなしで開発チームが自立してエコシステムを 理解できるのが理想である(スケールする仕組み)。
Slide 33
Slide 33 text
課題:k8s利用者の学習コストが高い 利用者の学習コストを下げる仕組み。 ● 利用者ドキュメント ● サンプルアプリケーションの提供 ● テックリードミーティングやSlackでの情報共有
Slide 34
Slide 34 text
まとめ ゼロから始める場合、人が少なかったり、知見がなかったり するが、人が揃うまで待つわけにはいかないので、スモー ルスタートで始めてみるのが良いと思う。
Slide 35
Slide 35 text
おわり ご清聴ありがとうございました