Chuyển đến nội dung chính

レッスン 49: トラブルシューティング ガイド

K8s 運用の​​系統的なトラブルシューティング: ポッドの問題、ネットワーキング、ストレージ、パフォーマンス、コントロール プレーン、一般的なエラー、診断ツール。

🔒 DevSecOps — レッスン 49 レッスン 49: トラブルシューティング ガイド

Kubernetes HA を使用してマイクロサービスをオンプレミスにデプロイ

パート 12: 制作オペレーションとキャップストーン プロジェクト

xdev.asia_

🎯 レッスンの目的__HTMLTAG_66___
  • ✅ 体系的なトラブルシューティング方法
  • ✅ ポッドのトラブルシューティング (CrashLoopBackOff、保留中、OOM)
  • ✅ ネットワークの問題 (DNS、サービス検出、接続)
  • ✅ ストレージの問題 (PV/PVC、マウント エラー)
  • ✅ コントロール プレーンのトラブルシューティング__HTMLTAG_77___
  • ✅ 必須の診断ツール

パート 1: トラブルシューティング方法

コードブロック_0


パート 2: ポッドのトラブルシューティング

コードブロック_1

コードブロック_2


パート 3: ネットワークのトラブルシューティング

コードブロック_3


パート 4: ストレージのトラブルシューティング

コードブロック_4


パート 5: コントロール プレーンのトラブルシューティング

コードブロック_5


パート 6: 一般的なエラーのクイック リファレンス

___HTMLTAG_137__OOM強制終了
エラー一般的な原因簡単な修正
ImagePullBackOff画像名/タグが間違っています、プルシークレットがありません_画像を確認し、画像PullSecretsを追加してください
CrashLoopBackOffアプリのクラッシュ、env/config の欠落ログの確認 --previous_
_保留中リソースが不足しています。一致するノードがありませんイベント、ノード容量を確認してください_
メモリ制限を超えました制限を増やすか、リークを修正してください_
CreateContainerConfigErrorConfigMap/Secretが見つかりません参照リソースが存在することを確認してください
エビクト_ノードのディスク/メモリの負荷ノードのクリーンアップ、リソースの増加_
バックオフ再起動Readiness プローブの失敗プローブの構成、ポート、パスを確認してください_
接続が拒否されましたサービスの準備ができていません、ポートが間違っています_エンドポイント、サービスポートを確認してください_
DNS 解決に失敗しましたCoreDNS がダウンしています、サービス名が間違っています_coredns ポッド、FQDN を確認してください_

💡 重要なポイント

  1. 体系的なアプローチ: 特定→分離→診断→修正→検証
  2. kubectl description: K8s の問題に対する最初のツール
  3. イベント: kubectl イベントを取得 --sort-by=.lastTimestamp
  4. デバッグ コンテナ: ライブ診断用の一時的なコンテナ
  5. レイヤーごと: アプリ → コンテナ → ポッド → サービス → ノード → クラスター
  6. ドキュメント: すべての修正はランブック エントリになります

🎯 演習

演習 1: トラブルシューティングの課題

  • Teammate は 5 つの壊れたデプロイメントを作成します (間違ったイメージ、欠落した構成マップなど)
  • kubectl__HTMLTAG_225___ のみを使用してそれぞれを診断して修正します
  • それぞれの診断手順を文書化

演習 2: 診断ツールキット

  • netshoot、pg_isready、redis-cli を使用して「デバッグ ツールボックス」ポッドを作成
  • DNS、ネットワーク、ストレージのトラブルシューティングを実践
  • _個人的なトラブルシューティングのチートシートを作成

📚 次の投稿

__HTMLTAG_243___レッスン 50: Capstone プロジェクト — E コマース プラットフォーム では、エンドツーエンドのマイクロサービス システム全体を構築してデプロイします。