关于kube-ovn支持dnat以及router lb

217 阅读1分钟

在ovn的实现过程中,曾在nat表中实现了dnat资源,但是后续又移除了,改由router lb包含该功能。 那么如何在kube-ovn中实现dnat功能以及router lb。

理论上来说,仅对router lb做充分实现可以满足dnat场景的使用,但是在资源维护上感觉这两种场景区别还是很大的。

首先dnat场景一般都是一对一的,一个dnat资源对应到一个ip,可以对应到很多端口。 这种场景一般不需要健康检查。

而router lb典型的应用场景就是svc external lb场景。一个lb对应到一个svc。 必须支持健康检查。 lb的后端可以直接用pod ip。

所以dnat和router lb还是要用两个crd,尽管ovn层次的资源是同一张表。