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.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow nodenetworkconfigurationpolicy.nmstate.io/ens01-bridge-testfail created
nodenetworkconfigurationpolicy.nmstate.io/ens01-bridge-testfail createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して Policy のステータスを確認します。
oc get nncp
$ oc get nncpCopy to Clipboard Copied! Toggle word wrap Toggle overflow この出力は、Policy が失敗したことを示しています。
NAME STATUS ens01-bridge-testfail FailedToConfigure
NAME STATUS ens01-bridge-testfail FailedToConfigureCopy to Clipboard Copied! Toggle word wrap Toggle overflow ただし、Policy のステータスのみでは、すべてのノードで失敗したか、またはノードのサブセットで失敗したかを確認することはできません。
Enactment を一覧表示し、Policy がいずれかのノードで成功したかどうかを確認します。Policy がサブセットに対してのみ失敗した場合は、問題は特定のノード設定にあることにあることが示唆されます。Policy がすべてのノードで失敗した場合は、問題は Policy に関連したものであることが示唆されます。
oc get nnce
$ oc get nnceCopy 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は、desiredPolicy 設定、ノード上の Policy のcurrent設定、および一致しないパラメーターを強調表示するdifferenceを一覧表示します。この例では、portはdifferenceに組み込まれ、これは問題が Policy のポート設定に関連するものであることを示唆します。Policy が適切に設定されていることを確認するには、
NodeNetworkStateを要求して、1 つまたはすべてのノードのネットワーク設定を表示します。以下のコマンドは、master-1ノードのネットワーク設定を返します。oc get nns master-1 -o yaml
$ oc get nns master-1 -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力は、ノード上のインターフェイス名は
ens1であるものの、失敗した Policy がens01を誤って使用していることを示します。- ipv4: ... name: ens1 state: up type: ethernet- ipv4: ... name: ens1 state: up type: ethernetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 既存の Policy を編集してエラーを修正します。
oc edit nncp ens01-bridge-testfail
$ oc edit nncp ens01-bridge-testfailCopy to Clipboard Copied! Toggle word wrap Toggle overflow ... port: - name: ens1... port: - name: ens1Copy to Clipboard Copied! Toggle word wrap Toggle overflow Policy を保存して修正を適用します。
Policy のステータスをチェックして、更新が正常に行われたことを確認します。
oc get nncp
$ oc get nncpCopy to Clipboard Copied! Toggle word wrap Toggle overflow NAME STATUS ens01-bridge-testfail SuccessfullyConfigured
NAME STATUS ens01-bridge-testfail SuccessfullyConfiguredCopy to Clipboard Copied! Toggle word wrap Toggle overflow
更新された Policy は、クラスターのすべてのノードで正常に設定されました。