19.9. 配置网关
				作为集群管理员,您可以配置 gatewayConfig 对象来管理外部流量离开集群的方式。为此,您可以将 routingViaHost 参数设置为以下值之一:
			
- 
						true表示出口流量通过托管 pod 的节点上的特定本地网关路由。通过主机的出口流量路由,此流量适用于主机的路由表。
- 
						false表示出口流量通过专用节点路由,但一组节点共享同一网关。出口流量不会通过主机路由。Open vSwitch (OVS)将流量直接输出到节点 IP 接口。
19.9.1. 配置出口路由策略
					作为集群管理员,您可以使用 Cluster Network Operator (CNO)中的 gatewayConfig 规格配置出口路由策略。您可以使用以下步骤将 routingViaHost 字段设置为 true 或 false。
				
					如果需要节点的主机网络充当与 OVN-Kubernetes 不相关的流量的路由器,按照流程中的可选步骤启用 IP 转发和 routingViaHost=true 配置。例如,将本地网关与 IP 转发相结合的可能用例包括:
				
- 配置通过节点的 IP 转发所有 pod 出口流量
- 将 OVN-Kubernetes CNI 与外部网络地址转换(NAT)设备集成
- 将 OVN-Kubernetes CNI 配置为使用内核路由表
先决条件
- 您以具有 admin 权限的用户身份登录。
流程
- 运行以下命令备份现有网络配置: - 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表示出口流量通过托管 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 - 运行以下命令,验证 - ipForwardingspec 是否已设置为- 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