Kubernetes上の本番インシデントをトリアージする
使うタイミング: 本番でアプリが不調;ウィンドウを切り替えずにPod・イベント・ログを確認したい場合。
前提条件
- クラスターへのアクセス権を持つkubeconfig — 標準の
aws eks update-kubeconfigまたは相当コマンド
フロー
-
異常なPodを探すk8s: in context
prod-us-east, namespacecheckout, list pods not in Running state. Include reason + restart count.✓ コピーしました→ 状態・理由・再起動回数付きのPod一覧 -
イベントを取得Get events in that namespace from the last 30 minutes, sorted by time.✓ コピーしました→ イベント一覧;OOMKilledやImagePullBackOffが存在すれば確認できる
-
ログを取得For the pod with the most recent restart, tail the previous container's logs (last 200 lines).✓ コピーしました→ スタックトレース/原因が確認できる
-
診断Synthesize: what's the likely root cause and what should we do? Be specific.✓ コピーしました→ 具体的な次のステップ(例:メモリ制限の引き上げ+ロールアウト)
結果: Pod名+ログ行を引用した5分以内のトリアージ。
注意点
- 前のコンテナのログが利用できない — Podが1回しか再起動していない場合は、現在のコンテナのログを確認し、クラッシュした場合のみprevious containerを確認する
- コンテキストが間違っている — 呼び出しごとにコンテキストを明示する;current-contextのドリフトに依存しない