このページでは、プリインストールされている一連のデバッグツールを使用して、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
の使用
toolbox
コマンドを実行します。sudo toolbox
このコマンドは、
debug-toolbox
コンテナを開始します。コンテナ内で、ツールのいずれかを実行します。例:
tcpdump
完了したら、コンテナを終了してノードへの SSH 接続を閉じます。
ノードの問題の検出機能
ノードの問題の検出機能は、クラスタ内のすべてのノードで有効になり、一般的なノードの問題をすばやく検出できます。ノードの問題の検出機能は、潜在的な問題を継続的にチェックし、ノードのイベントおよび状態と同じ結果を報告します。ノードが正常に動作しない場合は、ノードで kubectl describe
を実行し、対応するイベントと状態をチェックすることで、ノードの問題検出機能が問題を検出できるかどうかを確認できます。
ノードの問題の検出機能のモニターは、ノードにいくつかの状態を生成します。報告された状態が KubeletUnhealthy
または ContainerRuntimeUnhealthy
の場合、対応する systemd
サービス(kubelet または Docker)を再起動すると、ノードが再び正常になる場合があります。
Google Distributed Cloud バージョン 1.5 以降では、ノードの問題の検出機能で、kubelet と docker systemd サービスの自動修復が有効になっています。ノードの問題の検出機能は、ノードで KubeletUnhealthy
状態または ContainerRuntimeUnhealthy
状態を検出すると、最後の再起動からの経過時間が特定のしきい値を超えた場合に、kubelet または Docker サービスの再起動を自動的に試行します。