第3章 トラブルシューティング
既知の問題のトラブルシューティングと、考えられる解決策を確認してください。
3.1. NodePort サービスの iptable ルールのトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
OVN-Kubernetes は、ネットワークアドレス変換 (NAT) テーブルに iptable チェーンをセットアップして、NodePort サービスへの着信トラフィックを処理します。NodePort サービスに到達できない場合、または接続が拒否された場合は、ホストの iptable ルールをチェックして、関連するルールが適切に挿入されていることを確認してください。
手順
次のコマンドを実行して、NodePort サービスの iptable ルールを表示します。
iptables-save | grep NODEPORT
$ iptables-save | grep NODEPORTCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
-A OUTPUT -j OVN-KUBE-NODEPORT -A OVN-KUBE-NODEPORT -p tcp -m addrtype --dst-type LOCAL -m tcp --dport 30326 -j DNAT --to-destination 10.43.95.170:80
-A OUTPUT -j OVN-KUBE-NODEPORT -A OVN-KUBE-NODEPORT -p tcp -m addrtype --dst-type LOCAL -m tcp --dport 30326 -j DNAT --to-destination 10.43.95.170:80Copy to Clipboard Copied! Toggle word wrap Toggle overflow OVN-Kubernetes は、NAT テーブルに
OVN-KUBE-NODEPORTiptable チェーンを設定して宛先ポートと一致させ、パケットを宛先ネットワークアドレス変換 (DNAT) してclusterIPサービスに送信します。次に、DNAT されたパケットは、ホストのルーティングルールを経由してゲートウェイブリッジbr-exを介して OVN ネットワークにルーティングされます。次のコマンドを実行して、ルーティングルールを使用してネットワーク経由でパケットをルーティングします。
ip route
$ ip routeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
10.43.0.0/16 via 192.168.122.1 dev br-ex mtu 1400
10.43.0.0/16 via 192.168.122.1 dev br-ex mtu 1400Copy to Clipboard Copied! Toggle word wrap Toggle overflow このルーティングルールは、Kubernetes サービスの IP アドレス範囲と一致し、パケットをゲートウェイブリッジ
br-exに転送します。ホストでip_forwardを有効にする必要があります。パケットが OVS ブリッジbr-exに転送されると、そのパケットは OVS の OpenFlow ルールによって処理されてから OVN ネットワークに誘導され、最終的に Pod に誘導されます。