0Pricing
DevOps Bootcamp · レッスン

クラスターの調査とトラブルシューティング

kubectlでノードとPodの状態を調べ、ログを読み、イベントを詳しく確認し、コンテナ内でexecを実行して、最初のクラスターで問題を診断します。

「クラスターの調査とトラブルシューティング」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。

問題が起きたとき

最初のデプロイが、ときどき期待どおりに動かないことがあります。幸い、kubectlには何が起きているかを把握し、手順に沿って修正するために必要な機能がすべてそろっています。

Node を確認する

まずは広い範囲から確認します。クラスターの Node は健全で、Ready になっていますか。

kubectl get nodes -o wide

Pod とステータスを一覧表示する

Pod のフェーズを確認します。Running は正常です。Pending、CrashLoopBackOff、ImagePullBackOff は、それぞれ特定の問題を示しています。

kubectl get pods -o wide

詳細を describe で確認する

kubectl describeは最も頼りになるコマンドです。仕様、現在の状態、スケジューリングやイメージ取得の失敗を説明するEventsの一覧を表示します。

kubectl describe pod my-app-abc123

ログを読む

アプリケーションのエラーは、通常ログに現れます。-fでログをストリーミング表示するか、クラッシュしたコンテナの直前のログを--previousで読み取ります。

kubectl logs -f my-app-abc123

クラッシュ時のログ

Podが再起動を繰り返している場合、現在のコンテナにはまだ役立つログがない可能性があります。代わりに、直前のインスタンスを表示してください。

kubectl logs my-app-abc123 --previous

コンテナ内でシェルを実行する

実行中のコンテナ内でシェルを開くと、内部からファイル、環境変数、接続性を確認できます。

kubectl exec -it my-app-abc123 -- sh

クラスタ全体のイベント

名前空間全体の最近のイベントを時系列で確認すると、Podごとの表示では見落とすパターンを発見できます。

kubectl get events --sort-by=.lastTimestamp

よくある障害: ImagePullBackOff

これは、Kubernetesがイメージを取得できないことを意味します。名前やタグが間違っている、プライベートレジストリの認証情報がない、または入力ミスがある可能性があります。describeで正確な取得エラーを確認できます。

よくある障害: CrashLoopBackOff

コンテナが起動した後、繰り返し終了しています。クラッシュの原因をlogs --previousで確認してください。多くの場合、コマンドの誤り、設定の不足、依存関係の失敗が原因です。

リソースと接続性の確認

ライブCPU使用量とメモリ使用量を確認するにはkubectl topを使用します(metrics-serverが必要です)。また、port-forwardを使うと、手元のマシンからServiceを直接テストできます。

kubectl port-forward pod/my-app-abc123 8080:80

クイックチェック

再起動を繰り返すPodを診断します。

まとめ

これでトラブルシューティングのツールキットがそろいました。

  • 正常性の確認にはget nodes/pods、イベントの確認にはdescribe
  • アプリケーションエラーの確認にはlogs(および--previous)
  • 内部からの確認にはexec、テストにはport-forward
  • ImagePullBackOffとCrashLoopBackOffを認識する

これらを落ち着いて体系的に確認すれば、通常は問題をすばやく見つけられます。

よくある質問

「クラスターの調査とトラブルシューティング」レッスンは無料ですか?

はい。「クラスターの調査とトラブルシューティング」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。

「クラスターの調査とトラブルシューティング」で何を学びますか?

kubectlでノードとPodの状態を調べ、ログを読み、イベントを詳しく確認し、コンテナ内でexecを実行して、最初のクラスターで問題を診断します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

DevOps Bootcampを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「クラスターの調査とトラブルシューティング」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDevOps Bootcampレッスンでコードを書いて実行できますか?

はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Minikubeのインストールとセットアップ
  2. Kubeconfigとコンテキスト
  3. シンプルなアプリのデプロイ
  4. クラスターの調査とトラブルシューティング
← DevOps Bootcampに戻る