第7章 ゲートウェイの設定
クラスター管理者は、gatewayConfig
オブジェクトを設定して、外部トラフィックをクラスターからどのように送信するかを管理できます。これを行うには、routingViaHost
パラメーターを次のいずれかの値に設定します。
-
true は
、Egress トラフィックが Pod をホストするノード上の特定のローカルゲートウェイを経由してルーティングされることを意味します。出力トラフィックはホストを経由してルーティングされ、このトラフィックはホストのルーティングテーブルに適用されます。 -
false は
、出力トラフィックが専用ノードを経由してルーティングされるが、ノードのグループが同じゲートウェイを共有することを意味します。出力トラフィックはホストを経由してルーティングされません。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.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、
routingViaHost
パラメーターをtrue
に設定します。その後、出力トラフィックは、ノードで設定されたルートに従って特定のゲートウェイを経由してルーティングされます。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