マネージド kubernetes ガチ本番運用...ifg ihh e g d e g f hf f f d i 502エラー...

89
de:code 2019 CD12 マネージド Kubernetes ガチ本番運用 in ZOZOTOWN リーダー / エンジニア 鶴見 純一 / 竹中 達志

Upload: others

Post on 24-Jan-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

de:code 2019 CD12

マネージド Kubernetes ガチ本番運用

in ZOZOTOWN

リーダー / エンジニア

鶴見純一 / 竹中達志

Page 2: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

自己紹介

Page 3: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

登壇者

Page 4: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

登壇者

Page 5: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

ZOZO について

Page 6: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

ZOZOTOWN

・ 日本最大級のファッションショッピングサイト / アプリ

・ 1,200以上のショップ、7,000以上のブランドの取り扱い

(2019年3月末時点)

・ 常時73万点以上の商品アイテム数と

毎日平均3,200点以上の新着商品を掲載

・ 即日配送サービス

・ ギフトラッピングサービス

・ ツケ払い など

https : //zozo. jp/

Page 7: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

WEAR

・ 日本最大級のファッションコーディネートアプリ

・ 1,300万ダウンロード突破、コーディネート投稿総数は800万件

以上(ともに2019年3月末時点)

・ 全世界(App Store / Google P layが利用可能な

全ての国)でダウンロードが可能

・ 10万人以上のフォロワーを持つユーザー(WEARISTA)も誕生

https : //wear . jp/

Page 8: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

・ 「ZOZOSUIT」で計測した体型データをもとに、一人ひとりの

体型に合った「あなたサイズ」のアイテム

・「究極のフィット感」を実現したベーシックアイテムを提供

・ アイテム : Tシャツ / デニムパンツ / シャツ / ビジネススーツ /

ネクタイ / ボーダーTシャツ / 長袖クルーネックTシャツ など

https : //zozo. jp/brand/zozo/?dord=21

Page 9: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

ZOZOSUIT

・ 独自に開発した採寸用ボディースーツ

・ 全体に施されたドットマーカーをスマートフォンカメラで360度

撮影することで、体型データを計測

・ 計測した体型データは、瞬時に3Dモデル化され、ZOZOTOWN

アプリに保存。3Dモデルはあらゆる角度に動かすことができ、

体型を360度チェックすることが可能

https : //zozo. jp/zozosui t/

Page 10: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

概要

Page 11: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

対象者

Page 12: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

内容

Page 13: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

Kubernetes 採用の背景

Page 14: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

なぜ Kubernetes を採用したのか?

Page 15: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

なぜ Kubernetes を採用したのか?

Page 16: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

なぜ Kubernetes を採用したのか?

Page 17: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

なぜ Kubernetes を採用したのか?

Page 18: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

なぜ Kubernetes を採用したのか?

Page 19: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

なぜ Kubernetes を採用したのか?

Page 20: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

なぜ Kubernetes を採用したのか?

Page 21: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

なぜ Kubernetes を採用したのか?

Page 22: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

なぜ Kubernetes を採用したのか?

セール セール

ZOZO

WEEK

ZOZO

WEEK

Page 23: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

なぜ Kubernetes を採用したのか?

セール セール

ZOZO

WEEK

ZOZO

WEEK

Page 24: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

なぜ Kubernetes を採用したのか?

Page 25: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

なぜ Kubernetes を採用したのか?

Page 26: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

なぜ Kubernetes を採用したのか?

Page 27: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

なぜ Kubernetes を採用したのか?

Page 28: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

Kubernetes 運用の目的

Page 29: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

Kubernetes 運用の目的

安定運用

• 運用負荷 軽減

マイクロサービス マルチクラウド

Page 30: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

Kubernetes 運用の目的

Page 31: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

今後のビジョン

Page 32: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

今後のビジョン

Page 33: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

今後のビジョン

Page 34: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

今後のビジョン

Page 35: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

リプレースの歴史

Page 36: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

システムリプレースについて

Page 37: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

システムリプレースについて

システム名 機能名 リプレース状況

ECサイト 参照系 ○

ECサイト 更新系 ー

バックエンドシステム 基幹業務 ー

バックエンドシステム 物量配送業務 ー

Page 38: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

Kubernetes 状況

2018/08 2018/12 2019/01 2019/04

・ACS-Engine 稼働

・Kubernetes 脆弱性発覚CVE-2018-1002105

・AKS 検証

・AKS 稼働(Kubernetes Version Up)

・Kubernetes 脆弱性発覚2月:

4月:CVE-2019-1002100、CVE-2019-1002101、

CVE-2019-9946

・Kubernetes Version Up

Page 39: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

運用について

Page 40: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

Kubernetes 運用について

Page 41: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

Kubernetes 運用について

Page 42: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

Kubernetes 運用について

Page 43: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

マイクロソフト ユニファイドサポートが手厚い

Page 44: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

マイクロソフト ユニファイドサポートが手厚い

Page 45: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

マネージド Kubernetes について

Page 46: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

なぜマネージド Kubernetes を利用したか?

コスト

運用

• サポートへの問い合わせが可能

Page 47: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

コスト削減

Azure 上リソースの数

但し、カスタマイズ幅は小さくなる

Page 48: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

Kubernetes 導入

Page 49: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

Kubernetes 導入

Kubernetes の理論的には安定稼働する

Kubernetes 導入したところ無事に動いた

Page 50: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

Kubernetes の構成

Page 51: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲
Page 52: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲
Page 53: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

Kubernetes の構成

502エラー

Page 54: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

難航するエラー調査

HttpStatus 400、500、502 エラー発生

調査すべき部分は広範囲

Page 55: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

担保するべき要件

エラーレート 0.001% 以下

• 正常 99.999 %

Page 56: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

AKS の特性

Page 57: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

AKS の特性

Azure Active Directory

Page 58: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

障害事例

事象:突然 pod が Apply 不可になった

原因:Service Principal の期限切れでクラウドリソースの

操作ができなくなったことが原因

Page 59: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

Az コマンドで Kubernetes 操作

Page 60: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

Az コマンドで Kubernetes 操作について

Az コマンドにて Kubernetes を操作できるが、

Page 61: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

ラッパー例

az aks get-upgrades --resource-group myResourceGroup --name myAKSCluster

kubectl drainkubectl uncordon

Page 62: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

安定稼働までの道のり

Page 63: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

本番運用

本番運用前の検証、実測が大事

• マネージドだから任せられる → NO

Kubernetes の知識が必須

• 動作を理解しないと検証ができない

Page 64: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

検証・実測できる環境を作る

クラスターを使い捨てる

• 本番稼働中の環境を変更しない

• 人間なので、どの環境で何を変更したかは必ず忘れる

Page 65: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲
Page 66: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

苦労したこと

Kubernetes のアーキテクチャに対する知識

広範囲のレイヤーに対する知識

Page 67: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

想定外の事象

node や pod が落ちることがある

Page 68: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

安定稼働させるための結論

• 検証できる環境整備が必要

• 検証、実測に基づくチューニングが必要

Page 69: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

Rolling update の注意点

Page 70: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

サービスが継続できる pod 数を常に確保する

maxSurge、maxUnavailable

• Deployment を 用いた Rolling update 時

PodDisruptionBudget

• node からの Drain 時

Page 71: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

Rolling update

maxSurge:3、maxUnavailable:0

Page 72: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

Rolling update

maxSurge:3、maxUnavailable:0

Page 73: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

Rolling update

maxSurge:3、maxUnavailable:0

Page 74: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

PodDisruptionBudget

maxUnavailable:1

Page 75: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

PodDisruptionBudget

maxUnavailable:1

Page 76: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

PodDisruptionBudget

maxUnavailable:1

Page 77: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

Graceful Shutdownの設定

アクセスの強制切断が発生しないように

Graceful Shutdown を設定する

lifecycle.preStop

• pod の termination時に実行される処理。pod の restart 時必要になる

• Service の更新と pod の termination は非同期なため、適切に設定する

• アプリケーションごとに必要な時間・処理が異なるので難しい

Page 78: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

Graceful Shutdown

Termination of pods

Page 79: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

ヘルスチェック

• pod 起動時間を考慮して Probe を開始する

• ヘルスチェック用のエンドポイントを設定する (/health など)

• データベースのタイムアウト値を考慮する

Page 80: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

ヘルスチェック

Page 81: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

リソース制限

• pod に割り当てる cpu やメモリが小さいと、立ち上がりが急激に遅くなる

Page 82: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

pod の pending

Page 83: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

pod pending に対する node のスケーリング

Page 84: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

pod pending に対する node のスケーリング

Page 85: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

Rolling update結論

Page 86: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

システムリプレースで躓いた箇所

Page 87: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

データベース パフォーマンス

データベースのパフォーマンスがボトルネックの場合 pod、

node のスケールでは全体のパフォーマンス向上は難しい

Page 88: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲

総括

• 覚えることが多く、躓いた部分もあったが、安定運用している

• クラウド化により、リソース不足の心配がなくなった

• コンテナ化したことでマイクロサービス化の足掛かりになった

• マネージド Kubernetes にすることでコストを削減しつつ、運

用負荷も軽減できた

Page 89: マネージド Kubernetes ガチ本番運用...IFG IHH E G D E G F HF F F D I 502エラー 難航するエラー調査 HttpStatus 400、500、502 エラー発生 調査すべき部分は広範囲