-
Notifications
You must be signed in to change notification settings - Fork 455
Pod IP 直接对外暴露
Oilbeater edited this page Mar 19, 2020
·
7 revisions
如果希望将 Pod IP 直接暴露给外部网络,以便外部可以直接通过 Pod IP 来访问容器,需要将对应子网的 natOutgoing 设置为 false。同时需要在外部的路由器上加一条静态路由,将目的地址为子网 cidr 的数据包下一跳设置为集群中的任意一台机器。
子网示例:
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
对于虚拟网络由于安全组或 conntrack 相关的限制,将容器网络的下一跳设置为集群内一台机器的做法,数据包可能会因为非对称路由的原因被 drop。 在这种情况下推荐将 gatewayType 设置为 centralized 并设置对应 gatewayNode。外部访问容器需要将容器 cidr 的路由下一跳设置为 gatewayNode 机器,来避免非对称路由的限制