---
title: Pod IP地址直接对外暴露
description: "Kube-OVN中可以通过静态路由的方式将Pod IP地址直接对外暴露，在这种情况下，Pod所在的子网需要将natOutgoing字段设置为false，关闭出网的NAT映射。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/ecosystemEnable/Kubernetes/kunpengkubeovn_06_0028.html
sourcePath: /source/zh/kunpengcpfs/ecosystemEnable/Kubernetes/kunpengkubeovn_06_0028.html
indexId: a18c855bfd7b898ea3263c3e9c898bd3d6fecd4024c3973619e1b1d5be2cefb777
---
# Pod IP地址直接对外暴露

Kube-OVN中可以通过静态路由的方式将Pod IP地址直接对外暴露，在这种情况下，Pod所在的子网需要将natOutgoing字段设置为false，关闭出网的NAT映射。

同时需要检查主机节点iptables的Forward链中是否有drop规则，ovn0网卡以及默认出网网卡需要放开Forward。

- 物理环境
  若需要将Pod IP地址直接暴露给外部网络，以便外部可以直接通过Pod IP地址来访问容器，需要将对应子网的natOutgoing设置为false。同时需要在外部的路由器上加一条静态路由，将目的地址为子网CIDR的数据包下一跳设置为集群中的任意一台机器。

  子网配置示例：

  1 vim subnet-gateway.yaml

  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 apiVersion: kubeovn.io/v1 kind: Subnet metadata: name: subnet-gateway spec: protocol: IPv4 default: false namespaces: - ns1 - ns2 cidrBlock: 100.64.0.0/16 gateway: 100.64.0.1 excludeIps: - 100.64.0.1 private: false gatewayType: distributed natOutgoing: false

  1 kubectl create -f subnet-gateway.yaml

- 虚拟网络环境
  对于虚拟网络由于安全组或Conntrack相关的限制，将容器网络的下一跳设置为集群内一台机器的做法，数据包可能会因为非对称路由的原因被drop。

  在这种情况下推荐将gatewayType设置为centralized并设置对应gatewayNode。外部访问容器需要将容器CIDR的路由下一跳设置为gatewayNode机器，来避免非对称路由的限制。
