我在Google平台上使用Kubernetes引擎。我在Docker容器中运行一个进程。我也有一个负载均衡器服务,让我从外部世界进入吊舱。
在荚中运行的进程需要知道它的外部IP地址是什么。我怎么能拿到这个?
在使用Kubernetes引擎之前,我使用的是Compute引擎,可以通过以下方法查找外部IP地址:
curl -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip是否有任何内部工具可供我的过程使用?或者,我是否需要调用外部站点,该站点可以镜像IP地址?
发布于 2018-01-17 05:30:49
每个Pod (除非配置为不这样做)在/var/run/secrets/kubernetes.io/serviceaccount/token 如前所述中都有有效的kubernetes凭据,因此答案是使用kubernetes API在Pod(s)前面询问Service的status:loadBalancer:ingress:ip: 如前所述,我完全有理由相信GKE将在负载均衡器的任何更改中保持最新。kubernetes API总是(?)位于https://kubernetes (这通常是足够的,或者https://kubernetes.default.svc.cluster.local是它的全名),所以Pod需要很少的配置来执行查找。
该响应的星号是,必须将服务的名称提供给位于其前面的服务的Pod(s),因为(大多数情况下) Pod无法知道有多少服务指向它。
https://stackoverflow.com/questions/48291745
复制相似问题