玩转kubernetes中Pod挂载公网IP
起因
在很多业务场景里,是需要kubernetes里的Pod去调用某些公网上服务的(无论这些公网服务是自建的还是其它服务提供商的)。但是通常Pod都是通过主机上SNAT的方式做出口,这样容易被误认为是某种信息抓取程序或者是类似DDoS攻击,从而容易被封闭对应的主机IP。
另外有些服务只是对某种服务提供接入,需要设置白名单,但是kuberentes集群里又跑了多种服务,这些服务都是通过主机的SNAT出去,从而比较难限定对应的服务的白名单。如果将对应的服务固定在某几个worker节点上虽然也是一个办法,但是其灵活度以及容器弹性将收到一定的限制。
是否可以提供一个方式,让对应的服务的Pod根据需要来挂载自己独立的公网IP,从而避免上述问题呢?答案是可以的,这个就是我们kubernetes容器服务中特有的网络插件Terway的一个很好的特性。