中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

设置出网网关

Kube-OVN网络中的Pod通过网关来访问集群外网络,目前支持两种类型的网关,用户可以在子网中对网关的类型进行调整。

  • 分布式网关

    子网的默认类型网关,每个Node会作为当前Node上Pod访问外部网络的网关。数据包会通过本机的ovn0网卡流入主机网络栈,再根据主机的路由规则进行出网。当natOutgoing属性为true时,Pod访问外部网络将会使用当前所在宿主机的IP地址。

    子网配置示例:

    vim distributed.yaml

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    apiVersion: kubeovn.io/v1
    kind: Subnet
    metadata:
      name: distributed
    spec:
      cidrBlock: 10.166.0.0/16
      default: false
      excludeIps:
      - 10.166.0.1
      gateway: 10.166.0.1
      gatewayType: distributed
      natOutgoing: true
    
    kubectl create -f distributed.yaml
  • 集中式网关

    如果希望子网内流量访问外网使用固定的IP地址,以便审计和白名单等安全操作,可以在子网中设置集中式网关。在集中式网关模式下,Pod访问外网的数据包会首先被路由到特定节点的ovn0网卡,再通过主机的路由规则进行出网。当natOutgoing为true时,Pod访问外部网络将会使用特定宿主机的IP地址。

    子网配置示例:

    vim centralized.yaml
    apiVersion: kubeovn.io/v1
    kind: Subnet
    metadata:
      name: centralized
    spec:
      cidrBlock: 10.166.0.0/16
      default: false
      excludeIps:
      - 10.166.0.1
      gateway: 10.166.0.1
      gatewayType: centralized
      gatewayNode: "node1,node2"
      natOutgoing: true
    kubectl create -f centralized.yaml