-
Notifications
You must be signed in to change notification settings - Fork 459
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
multiple external network dnat bug #3329
Comments
验证后发现通过nat表项添加dnat规则没有问题 其下发的相关逻辑流表如下: vpc1 Egress: 但是nat表中dnat无法实现端口细粒度的控制 |
执行kubectl ko nbctl lr-lb-add vpc1 dnat1会进入build_lrouter_nat_flows_for_lb这个函数,它在下发match规则时默认使用od->l3dgw_ports[0] 导致所有的 is_chassis_resident 都相同 |
ovn-org/ovn#222
Kube-OVN通过loadbalance实现端口细粒度的dnat
实现方式为:
上述命令相当于给192.168.80.129创建dnat映射80端口
创建另一个外部网络的dnat后
192.168.94.0/24为连接vpc1的另一个外部网络,此时仅有1个dnat生效
发现原因如下:dnat至不同外部网络时,都使用同一个distributed gateway port
ovn逻辑流表如下
vpc1 Ingress
vpc1 Egress
loadbalance会调用dnat和undnat,然而loadbalance不支持多个distributed gateway port
然而ovn dnat的逻辑支持根据可达性ip判断distributed gateway port
The text was updated successfully, but these errors were encountered: