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.22.4. ノードのネットワーク設定のトラブルシューティング
ノードのネットワーク設定で問題が発生した場合には、ポリシーが自動的にロールバックされ、enactment (実行) レポートは失敗します。これには、以下のような問題が含まれます。
- ホストで設定を適用できません。
- ホストはデフォルトゲートウェイへの接続を失います。
- ホストは API サーバーへの接続を失います。
22.4.1. 正確でないノードネットワーク設定のポリシー設定のトラブルシューティング
ノードネットワーク設定ポリシーを適用し、クラスター全体でノードのネットワーク設定への変更を適用することができます。正確でない設定を適用する場合、以下の例を使用して、失敗したノードネットワークポリシーのトラブルシューティングと修正を行うことができます。
この例では、Linux ブリッジポリシーは、3 つのコントロールプレーンノード (マスター) と 3 つのコンピュート (ワーカー) ノードを持つクラスターのサンプルに適用されます。ポリシーは正しくないインターフェイスを参照するために、適用することができません。エラーを確認するには、利用可能な NMState リソースを調べます。その後に、正しい設定でポリシーを更新できます。
手順
- ポリシーを作成し、これをクラスターに適用します。以下の例では、 - 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 
- 以下のコマンドを実行してポリシーのステータスを確認します。 - oc get nncp - $ oc get nncp- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - この出力は、ポリシーが失敗したことを示しています。 - 出力例 - NAME STATUS ens01-bridge-testfail FailedToConfigure - NAME STATUS ens01-bridge-testfail FailedToConfigure- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - ただし、ポリシーのステータスのみでは、すべてのノードで失敗したか、ノードのサブセットで失敗したかを確認することはできません。 
- ノードのネットワーク設定の enactment (実行) をリスト表示し、ポリシーがいずれかのノードで成功したかどうかを確認します。このポリシーがノードのサブセットに対してのみ失敗した場合は、問題が特定のノード設定にあることが示唆されます。このポリシーがすべてのノードで失敗した場合には、問題はポリシーに関連するものであることが示唆されます。 - oc get nnce - $ oc get nnce- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - この出力は、ポリシーがすべてのノードで失敗したことを示しています。 - 出力例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 失敗した enactment (実行) のいずれかを表示し、トレースバックを確認します。以下のコマンドは、出力ツール - jsonpathを使用して出力をフィルターします。- oc get nnce compute-1.ens01-bridge-testfail -o jsonpath='{.status.conditions[?(@.type=="Failing")].message}'- $ oc get nnce compute-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ポリシー設定、ノード上のポリシーの- current設定、および一致しないパラメーターを強調表示する- differenceを一覧表示します。この例では、- portは- differenceに組み込まれ、これは問題がポリシーのポート設定に関連するものであることを示唆します。
- ポリシーが適切に設定されていることを確認するには、 - NodeNetworkStateオブジェクトを要求して、1 つまたはすべてのノードのネットワーク設定を表示します。以下のコマンドは、- control-plane-1ノードのネットワーク設定を返します。- oc get nns control-plane-1 -o yaml - $ oc get nns control-plane-1 -o yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力は、ノード上のインターフェイス名は - ens1であるものの、失敗したポリシーが- ens01を誤って使用していることを示します。- 出力例 - - ipv4: ... name: ens1 state: up type: ethernet- - ipv4: ... name: ens1 state: up type: ethernet- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 既存のポリシーを編集してエラーを修正します。 - 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 - ポリシーを保存して修正を適用します。 
- ポリシーのステータスをチェックして、更新が正常に行われたことを確認します。 - 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 
更新されたポリシーは、クラスターのすべてのノードで正常に設定されました。