6.7. 配置网关模式


作为集群管理员,您可以配置 gatewayConfig 对象来管理外部流量离开集群的方式。为此,对于本地模式将 routingViaHost spec 设置为 true,对于共享模式将 false 设置为 false。

在本地网关模式中,流量通过主机路由,因此应用于主机的路由表。在共享网关模式中,流量不会通过主机路由。相反,Open vSwitch (OVS) 流量直接将流量输出到节点 IP 接口。

6.7.1. 设置本地和共享网关模式

作为集群管理员,您可以使用 Cluster Network Operator 中的 gatewayConfig spec 配置网关模式。以下流程可用于将本地模式的 routingViaHost 字段设置为 true,对于共享模式,使用 false

如果需要主机网络作为与 OVN-Kubernetes 相关的流量的路由器,按照可选步骤 4 启用 IP 转发和本地网关模式。例如,将本地网关模式与 IP 转发模式相结合的可能用例包括:

  • 配置通过节点的 IP 转发所有 pod 出口流量
  • 将 OVN-Kubernetes CNI 与外部网络地址转换(NAT)设备集成
  • 将 OVN-Kubernetes CNI 配置为使用内核路由表

先决条件

  • 您以具有 admin 权限的用户身份登录。

流程

  1. 运行以下命令备份现有网络配置:

    $ oc get network.operator cluster -o yaml > network-config-backup.yaml
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令,将本地网关模式的 routingViaHost 参数设置为 true

    $ oc patch networks.operator.openshift.io cluster --type=merge -p '{"spec":{"defaultNetwork":{"ovnKubernetesConfig":{"gatewayConfig":{"routingViaHost": true}}}}}'
    Copy to Clipboard Toggle word wrap
  3. 运行以下命令验证本地网关模式是否已设置:

    $ oc get networks.operator.openshift.io cluster -o yaml | grep -A 5 "gatewayConfig"
    Copy to Clipboard Toggle word wrap

    输出示例

    apiVersion: operator.openshift.io/v1
    kind: Network
    metadata:
      name: cluster
    # ...
    gatewayConfig:
            ipv4: {}
            ipv6: {}
            routingViaHost: true 
    1
    
          genevePort: 6081
          ipsecConfig:
    # ...
    Copy to Clipboard Toggle word wrap

    1
    true 会设置本地网关模式,值 false 会设置共享网关模式。在本地网关模式中,流量通过主机路由。在共享网关模式中,流量不会通过主机路由。
  4. 可选:运行以下命令来全局启用 IP 转发:

    $ oc patch network.operator cluster --type=merge -p '{"spec":{"defaultNetwork":{"ovnKubernetesConfig":{"gatewayConfig":{"ipForwarding": "Global"}}}}}'
    Copy to Clipboard Toggle word wrap
    1. 运行以下命令,验证 ipForwarding spec 是否已设置为 Global

      $ oc get networks.operator.openshift.io cluster -o yaml | grep -A 5 "gatewayConfig"
      Copy to Clipboard Toggle word wrap

      输出示例

      apiVersion: operator.openshift.io/v1
      kind: Network
      metadata:
        name: cluster
      # ...
      gatewayConfig:
              ipForwarding: Global
              ipv4: {}
              ipv6: {}
              routingViaHost: true
            genevePort: 6081
      # ...
      Copy to Clipboard Toggle word wrap

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat