1.31. Submariner アドオンのステータスが低下してい場合のトラブルシューティング
クラスターセット内のクラスターに Submariner アドオンを追加すると、Connection status、Agent status、および Gateway nodes のステータスにクラスターの予期しないステータスが表示されます。
1.31.1. 現象: Submariner のアドオンステータスが低下している
クラスターセット内のクラスターに Submariner アドオンを追加すると、クラスターの Gateway nodes、Agent status、および Connection status に次のステータスが表示されます。
ラベルの付いたゲートウェイノード
-
Progressing
: ゲートウェイノードにラベルを付けるプロセスが開始されました。 -
Nodes not labeled
: ゲートウェイノードはラベル付けされていません。おそらく、それらにラベルを付けるプロセスが完了していないためです。 -
Nodes not labeled
: おそらくプロセスが別のプロセスの終了を待機しているため、ゲートウェイノードはまだラベル付けされていません。 - Nodes labeled: ゲートウェイノードにはラベルが付けられています。
-
エージェントのステータス
- Progressing: Submariner エージェントのインストールが開始されました。
- Degraded: Submariner エージェントが正しく実行されていません。おそらく、まだ進行中です。
接続状態
- Progressing: Submariner アドオンとの接続を確立するプロセスが開始されました。
-
Degraded: 接続の準備ができていません。アドオンをインストールしたばかりの場合は、プロセスがまだ進行中である可能性があります。接続がすでに確立されて実行された後である場合は、2 つのクラスターが相互に接続を失っています。複数のクラスターがある場合、いずれかのクラスターが切断状態にあると、すべてのクラスターに
Degraded
ステータスが表示されます。
また、接続されているクラスターと切断されているクラスターも表示されます。
1.31.2. 問題の解決: Submariner のアドオンステータスが低下している
- degraded ステータスは、プロセスが完了すると自動的に解決することがよくあります。表のステータスをクリックすると、プロセスの現在のステップを確認できます。その情報を使用して、プロセスが終了したかどうかを判断し、他のトラブルシューティング手順を実行する必要があります。
それ自体で解決しない問題の場合は、次の手順を実行して問題のトラブルシューティングを行います。
次の条件が存在する場合、
subctl
ユーティリティーでdiagnose
コマンドを使用して、Submariner 接続でいくつかのテストを実行できます。-
Agent status または Connection status は
Degraded
状態です。diagnose
コマンドは、問題に関する詳細な分析を提供します。 コンソールではすべてが緑色ですが、ネットワーク接続が正しく機能していません。
diagnose
コマンドは、コンソールの外部に他の接続またはデプロイメントの問題がないことを確認するのに役立ちます。問題を特定するために、デプロイメント後にdiagnostics
コマンドを実行することをお勧めします。コマンドの実行方法の詳細は、Submariner の
diagnose
を参照してください。
-
Agent status または Connection status は
Connection status
で問題が続く場合は、subctl
ユーティリティーツールのdiagnose
コマンドを実行して、2 つの Submariner クラスター間の接続のより詳細なステータスを取得することから始めることができます。コマンドの形式は次のとおりです。subctl diagnose all --kubeconfig <path-to-kubeconfig-file>
path-to-kubeconfig-file
をkubeconfig
ファイルへのパスに置き換えます。コマンドの詳細については、Submariner のドキュメントのdiagnose
を参照してください。ファイアウォールの設定を確認してください。接続の問題は、クラスターの通信を妨げるファイアウォールのアクセス許可の問題が原因で発生する場合があります。これにより、
Connection status
が degraded として表示される可能性があります。次のコマンドを実行して、ファイアウォールの問題を確認します。subctl diagnose firewall inter-cluster <path-to-local-kubeconfig> <path-to-remote-cluster-kubeconfig>
path-to-local-kubeconfig
を、いずれかのクラスターのkubeconfig
ファイルへのパスに置き換えます。path-to-remote-kubeconfig
を、他のクラスターのkubeconfig
ファイルへのパスに置き換えます。subctl
ユーティリティーツールでverify
コマンドを実行して、2 つの Submariner クラスター間の接続をテストできます。コマンドの基本的な形式は次のとおりです。Connection status
で問題が続く場合は、subctl
ユーティリティーツールでverify
コマンドを実行して、2 つの Submariner クラスター間の接続をテストできます。コマンドの基本的な形式は次のとおりです。subctl verify --kubecontexts <cluster1>,<cluster2> [flags]
cluster1
とcluster2
を、テストしているクラスターの名前に置き換えます。コマンドの詳細については、Submariner のドキュメントのverify
を参照してください。トラブルシューティング手順で問題が解決したら、
subctl
ツールでbenchmark
コマンドを使用して、追加の診断を実行するときに比較する基準を確立します。コマンドのオプションの詳細は、Submariner のドキュメントの
benchmark
を参照してください。