第7章 ゲートウェイの設定
クラスター管理者は、gatewayConfig オブジェクトを設定して、外部トラフィックをクラスターからどのように送信するかを管理できます。そのためには、routingViaHost パラメーターを次のいずれかの値に設定します。
-
Trueは、Pod をホストするノードの特定のローカルゲートウェイを介した egress トラフィックを意味します。Egress トラフィックはホスト経由でルーティングされ、このトラフィックはホストのルーティングテーブルに適用されます。 -
False
は、専用のノードを介して egress トラフィックがルーティングされ、ノードのグループは同じゲートウェイを共有することを意味します。Egress トラフィックはホスト経由でルーティングされません。Open vSwitch (OVS)は、トラフィックをノード IP インターフェイスに直接出力します。
7.1. egress ルーティングポリシーの設定 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は、Cluster Network Operator (CNO)で gatewayConfig 仕様を使用して egress ルーティングポリシーを設定できます。次の手順を使用して、routingViaHost フィールドを true または false に設定できます。
ノードのホストネットワークが OVN-Kubernetes に関連しないトラフィックのルーターとして機能する必要がある場合、この手順のオプションのステップを実行し、routingViaHost=true 設定と一緒に IP 転送を有効にできます。たとえば、ローカルゲートウェイと IP 転送を組み合わせるためのユースケースには以下が含まれます。
- すべての Pod Egress トラフィックをノードの IP 経由で転送するように設定する
- OVN-Kubernetes CNI と外部ネットワークアドレス変換 (NAT) デバイスを統合する
- カーネルルーティングテーブルを使用するように OVN-Kubernetes CNI を設定する
前提条件
- 管理者権限を持つユーザーとしてログインしている。
手順
次のコマンドを実行して、既存のネットワーク設定をバックアップします。
oc get network.operator cluster -o yaml > network-config-backup.yaml
$ oc get network.operator cluster -o yaml > network-config-backup.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、
routingViaHostパラメーターをtrueに設定します。次に egress トラフィックは、ノード上に設定したルートに従って特定のゲートウェイ経由でルーティングされます。oc patch networks.operator.openshift.io cluster --type=merge -p '{"spec":{"defaultNetwork":{"ovnKubernetesConfig":{"gatewayConfig":{"routingViaHost": true}}}}}'$ oc patch networks.operator.openshift.io cluster --type=merge -p '{"spec":{"defaultNetwork":{"ovnKubernetesConfig":{"gatewayConfig":{"routingViaHost": true}}}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
routingViaHost=true設定の正しいアプリケーションを確認します。oc get networks.operator.openshift.io cluster -o yaml | grep -A 5 "gatewayConfig"
$ oc get networks.operator.openshift.io cluster -o yaml | grep -A 5 "gatewayConfig"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
trueの値は、egress トラフィックが Pod をホストするノードの特定のローカルゲートウェイを介してルーティングされることを意味します。このパラメーターにfalseを指定すると、ノードのグループが単一のゲートウェイを共有し、トラフィックが単一のホスト経由でルーティングされないようにします。
オプション: 次のコマンドを実行して、IP 転送をグローバルに有効にします。
oc patch network.operator cluster --type=merge -p '{"spec":{"defaultNetwork":{"ovnKubernetesConfig":{"gatewayConfig":{"ipForwarding": "Global"}}}}}'$ oc patch network.operator cluster --type=merge -p '{"spec":{"defaultNetwork":{"ovnKubernetesConfig":{"gatewayConfig":{"ipForwarding": "Global"}}}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
ipForwarding仕様がGlobalに設定されていることを確認します。oc get networks.operator.openshift.io cluster -o yaml | grep -A 5 "gatewayConfig"
$ oc get networks.operator.openshift.io cluster -o yaml | grep -A 5 "gatewayConfig"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow