【デブサミ2020】セッションレポート:13-B-3 kubernetes未経験者がGKEの本番リリース〜障害対応を経験して苦悩した話
私はk8sを全然知らない
全然k8sを知らないけど、ちょっとかじりたい。未経験者の経験談からは何か学べそうだと、このセッションを選んだ。
泉水さんのバックグラウンド
恵比寿のIT企業で働いている
恵比寿なのにモテない
k8s触ったことなかったがある日突然アサインされた
Dockerコンテナの本番環境利用状況は9.2%(IDC Japan調べ)
会場において本番利用しているのは3割ほどだった
システム概要
コンソールゲーム共通基盤プラットフォーム
開発環境
いちばん面倒臭いのはマニフェストの管理
前任者がkustomize使ってたのでそれを使った
便利だが、以前使用していたconfigMapがゴミになるなど課題もある
根本的な解決にはいたっておらず、手動で不要なconfigMapを削除
本番環境
CloudBuild
GKE
CloudSpanner
CloudDatestore
CloudMemorystore
モニタリング環境は上図のようになっていた
初めての本番リリース
問題なくうまくいった
あるサービスリリース後、podが落ちはじめる
NGINX phpの構成。NGINXのコンテナが死んでいる
ヘルスチェックが通ってない!
PHPの処理が詰まってレスポンスが返ってこない
podが正常な状態じゃないとアップデートされない
つまり、いつまでたっても終わらない
聞いていて胃がキリキリするw
障害からの復旧
ローリングアップデートはできない
ブルーグリーンデプロイを試す
やったことはない
これでなんとか乗り切った
GKEクラスタ作成時は将来を見据えて構築するのが良い。一度構築すると変えにくいところがある
感想
体験記としてはなるほど、というところがあったけれども、GKEに関してのノウハウや学びがもっと欲しかったというのが正直なところ。
そしてこういうセッションを聞きに来る層でも、Dockerを本番で使っているのは3割程度というのは意外だった。こういう、リアルな状況を知れるのもデブサミの面白いところだ。