Kubernetes 服务部署

Kubernetes Service Deployment

我最近开始探索 kuberenetes,并在 google 云上完成了 pods、服务和复制控制器的实际实施。我对服务和网络访问有一些疑问。 首先,将用作 pods 组负载均衡器的服务部署在哪里? 其次,使用服务负载均衡器访问 pod 中的应用程序 运行 的请求是通过主节点还是直接到 minions 节点?

服务代理在集群的每个节点上运行。从集群内部,当您向服务 IP 发出请求时,它会被服务代理拦截并路由到与该服务的标签选择器匹配的 pod。如果您为您的服务指定了一个外部负载均衡器,负载均衡器将选择一个节点将请求发送到,此时它将被代理捕获并定向到适当的 pod。如果您使用的是 public IP,那么您的路由器会将请求发送到具有 public IP 的节点,代理将在该节点捕获请求并将其定向到适当的 pod。

如果你跟着描述,你可以看到服务请求不经过master。它们通过节点上的代理 运行 反弹。

顺便说一句,master 上还有一个代理 运行,您可以使用它来访问节点、服务 pods,但是这个代理不在数据包路径中您在集群中创建的服务。