19.9. ゲートウェイモードの設定
クラスター管理者は、gatewayConfig
オブジェクトを設定して、外部トラフィックをクラスターからどのように送信するかを管理できます。これを行うには、routingViaHost
仕様を true
(ローカルモードの場合) または false
(共有モードの場合) に設定します。
ローカルゲートウェイモードでは、トラフィックがホストを経由してルーティングされ、その結果、ホストのルーティングテーブルに適用されます。共有ゲートウェイモードでは、トラフィックはホストを経由してルーティングされません。代わりに、Open vSwitch (OVS) がトラフィックをノード IP インターフェイスに直接出力します。
19.9.1. ローカルおよび共有ゲートウェイモードの設定 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は、Cluster Network Operator の gatewayConfig
仕様を使用してゲートウェイモードを設定できます。次の手順を使用して、routingViaHost
フィールドを true
(ローカルモードの場合) または false
(共有モードの場合) に設定できます。
ノードのホストネットワークを、OVN-Kubernetes に関連しないトラフィックのルーターとして機能させる必要がある場合は、オプションのステップ 4 に従って、ローカルゲートウェイモードとともに 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 次のコマンドを実行して、ローカルゲートウェイモードが設定されていることを確認します。
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
にするとローカルゲートウェイモードが設定され、値を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