This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.10.3. ノードのネットワーク設定のトラブルシューティング
ノードのネットワーク設定で問題が発生した場合には、Policy が自動的にロールバックされ、Enactment レポートは失敗します。これには、以下のような問題が含まれます。
- ホストで設定を適用できません。
- ホストはデフォルトゲートウェイへの接続を失います。
- ホストは API サーバーへの接続を失います。
10.3.1. 正確でない NodeNetworkConfigurationPolicy 設定のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
NodeNetworkConfigurationPolicy を適用し、クラスター全体でノードのネットワーク設定への変更を適用することができます。正確でない設定を適用する場合、以下の例を使用して、失敗したネットワークポリシーのトラブルシューティングと修正を行うことができます。
この例では、Linux ブリッジ Policy は 3 つのマスターノードと 3 つのワーカーノードを持つクラスターのサンプルに適用されます。Policy は正しくないインターフェイスを参照するために、適用することができません。エラーを確認するには、利用可能な nmstate リソースを調べます。その後に、正しい設定で Policy を更新できます。
手順
Policy を作成し、これをクラスターに適用します。以下の例では、
ens01
インターフェイスに単純なブリッジを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f ens01-bridge-testfail.yaml
$ oc apply -f ens01-bridge-testfail.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow nodenetworkconfigurationpolicy.nmstate.io/ens01-bridge-testfail created
nodenetworkconfigurationpolicy.nmstate.io/ens01-bridge-testfail created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して Policy のステータスを確認します。
oc get nncp
$ oc get nncp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この出力は、Policy が失敗したことを示しています。
NAME STATUS ens01-bridge-testfail FailedToConfigure
NAME STATUS ens01-bridge-testfail FailedToConfigure
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ただし、Policy のステータスのみでは、すべてのノードで失敗したか、またはノードのサブセットで失敗したかを確認することはできません。
Enactment を一覧表示し、Policy がいずれかのノードで成功したかどうかを確認します。Policy がサブセットに対してのみ失敗した場合は、問題は特定のノード設定にあることにあることが示唆されます。Policy がすべてのノードで失敗した場合は、問題は Policy に関連したものであることが示唆されます。
oc get nnce
$ oc get nnce
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この出力は、Policy がすべてのノードで失敗したことを示しています。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 失敗した Enactment のいずれかを表示し、トレースバックを確認します。以下のコマンドは、出力ツール
jsonpath
を使用して出力をフィルターします。oc get nnce worker-1.ens01-bridge-testfail -o jsonpath='{.status.conditions[?(@.type=="Failing")].message}'
$ oc get nnce worker-1.ens01-bridge-testfail -o jsonpath='{.status.conditions[?(@.type=="Failing")].message}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、簡潔にするために編集されている大きなトレースバックを返します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NmstateVerificationError
は、desired
Policy 設定、ノード上の Policy のcurrent
設定、および一致しないパラメーターを強調表示するdifference
を一覧表示します。この例では、port
はdifference
に組み込まれ、これは問題が Policy のポート設定に関連するものであることを示唆します。Policy が適切に設定されていることを確認するには、
NodeNetworkState
を要求して、1 つまたはすべてのノードのネットワーク設定を表示します。以下のコマンドは、master-1
ノードのネットワーク設定を返します。oc get nns master-1 -o yaml
$ oc get nns master-1 -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力は、ノード上のインターフェイス名は
ens1
であるものの、失敗した Policy がens01
を誤って使用していることを示します。- ipv4: ... name: ens1 state: up type: ethernet
- ipv4: ... name: ens1 state: up type: ethernet
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 既存の Policy を編集してエラーを修正します。
oc edit nncp ens01-bridge-testfail
$ oc edit nncp ens01-bridge-testfail
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ... port: - name: ens1
... port: - name: ens1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Policy を保存して修正を適用します。
Policy のステータスをチェックして、更新が正常に行われたことを確認します。
oc get nncp
$ oc get nncp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME STATUS ens01-bridge-testfail SuccessfullyConfigured
NAME STATUS ens01-bridge-testfail SuccessfullyConfigured
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
更新された Policy は、クラスターのすべてのノードで正常に設定されました。