我创建了一个k8s服务(type=loadbalancer),它后面有许多豆荚。据我所知,从豆荚初始化的所有数据包都将源IP作为PodIP,响应入站通信量的域将具有源ip作为LoadBalancer ip。所以我的问题是:
发布于 2017-09-04 07:02:58
正如user315902所说,Azure ACS k8s使用Azure负载均衡器向互联网提供服务。
通过Azure容器服务部署的Kubernetes的架构图:

我的声明是正确的,还是有时源IP将是节点IP?
如果将该服务公开给internet,我认为源IP将是负载均衡器公共IP地址。在ACS中,如果我们向internet公开多个服务,Azure LB将添加多个公共IP地址。
在k8s中有什么窍门,我可以在第一个场景中将源IP从PodIP更改为LB IP吗?
您的意思是要使用节点公共IP地址将服务公开到internet上吗?如果是,我认为我们不能使用节点IP向互联网公开服务。在Azure,我们不得不使用LB将服务暴露到互联网上。
发布于 2017-09-02 18:07:49
Pods在内部网络中运行,而负载均衡器则暴露在Internet上,因此数据包的地址大致如下:
[pod1] <-----> [load balancer] <-----> [browser]
10.1.0.123 10.1.0.234 201.123.41.53 217.123.41.53要指定pod,请查看SessionAffinity。
https://stackoverflow.com/questions/46016713
复制相似问题