第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.yaml
Copy 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