ノードの問題のデバッグ

このページでは、プリインストールされている一連のデバッグツールを使用して、VMware 用 Google Distributed Cloud(ソフトウェアのみ)のノードの問題をデバッグする方法について説明します。

さらにサポートが必要な場合は、Cloud カスタマーケアにお問い合わせください。

概要

作成する各 Google Distributed Cloud クラスタは、複数のノードで構成されます。各ノードには、CoreOS toolbox ディストリビューションが含まれています。これは、デバッグ コンテナ(debug-toolbox)を展開して実行するシェルスクリプトです。debug-toolbox は、いくつかの便利なデバッグツールを含むコンテナ イメージです。

特定のノードで問題が発生した場合は、影響を受けたノードに接続してデバッグを試行します。toolbox スクリプトを実行してコンテナを展開して実行し、debug-toolbox コンテナに含まれているツールを実行します。

debug-toolbox コンテナに含まれるツール

debug-toolbox コンテナは、次のパッケージを含む Debian ベースイメージを実行します。

  • bash
  • curl
  • dnsutils
  • hping3
  • iperf3
  • lsof
  • netcat
  • mtr
  • procps
  • strace
  • tcpdump
  • traceroute
  • util-linux

これらのツールはコンテナに含まれているため、インターネット接続は必要ありません。追加のデバッグツールをインストールする場合は、apt-get を使用します(インターネット接続が必要です)。

toolbox の使用

  1. クラスタノードに SSH で接続します

  2. toolbox コマンドを実行します。

    sudo toolbox

    このコマンドは、debug-toolbox コンテナを開始します。

  3. コンテナ内で、ツールのいずれかを実行します。例: tcpdump

  4. 完了したら、コンテナを終了してノードへの SSH 接続を閉じます。

ノードの問題の検出機能

ノードの問題の検出機能は、クラスタ内のすべてのノードで有効になり、一般的なノードの問題をすばやく検出できます。ノードの問題の検出機能は、潜在的な問題を継続的にチェックし、ノードのイベントおよび状態と同じ結果を報告します。ノードが正常に動作しない場合は、ノードで kubectl describe を実行し、対応するイベントと状態をチェックすることで、ノードの問題検出機能が問題を検出できるかどうかを確認できます。

ノードの問題の検出機能のモニターは、ノードにいくつかの状態を生成します。報告された状態が KubeletUnhealthy または ContainerRuntimeUnhealthy の場合、対応する systemd サービス(kubelet または Docker)を再起動すると、ノードが再び正常になる場合があります。

Google Distributed Cloud バージョン 1.5 以降では、ノードの問題の検出機能で、kubelet と docker systemd サービスの自動修復が有効になっています。ノードの問題の検出機能は、ノードで KubeletUnhealthy 状態または ContainerRuntimeUnhealthy 状態を検出すると、最後の再起動からの経過時間が特定のしきい値を超えた場合に、kubelet または Docker サービスの再起動を自動的に試行します。

次のステップ

さらにサポートが必要な場合は、Cloud カスタマーケアにお問い合わせください。