为GKE pod添加自定义路由



我有一个系统,其中pods试图通过网关虚拟机访问特定子网。

拓扑看起来像这样:

Pod A (10.10.0.2) ->网关虚拟机(10.10.0.1 - 11.11.0.1)->VM B (11.11.0.2)

基本上Pod A应该能够ping通并与VM b交互。云路由器允许我网络中的VM进行通信,但不允许特定的Pod,除非"hostNetwork: true"(我不想指定)

我的问题是如何强制pod使用云路由器指定的路由,或者在vpc本地集群中为pod添加自定义路由。

提前感谢!

好的,我找到了一个使用ip- mask -agent的解决方案。在这种情况下,默认禁用伪装,这意味着pod流量离开集群时使用的IP地址与网关子网不同,因此没有通过网关的路由。

启用IP - mask -agent配置将pod IP地址更改为与网关在同一子网中的节点IP地址,并启用路由。

来源:https://sreeninet.wordpress.com/2019/08/11/gke-with-vpn-networking-options/

这允许pod通过网关与其他子网通信,而不会直接占用节点主机网络。