Dan*_*Dan 5 google-compute-engine google-cloud-platform kubernetes google-kubernetes-engine
我正在Google Cloud Platform上使用Kubernetes Engine。我有一个在Docker临时容器中运行进程的Pod。我还有一个负载平衡器服务,可让我从外界访问Pod。
在Pod中运行的进程需要知道其外部IP地址是什么。我怎么能得到这个?
在使用Kubernetes Engine之前,我使用的是Compute Engine,可以通过以下方式找到外部IP地址:
curl -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip
Run Code Online (Sandbox Code Playgroud)
有什么我可以使用的内部工具可以用于我的流程吗?还是我需要调用可镜像IP地址的外部站点的过程?
每个 Pod(除非配置为不这样做)都具有有效的 kubernetes 凭据,/var/run/secrets/kubernetes.io/serviceaccount/token 如此处所述Service,因此答案是使用 kubernetes API向 Pod 前面询问其status:loadBalancer:ingress:ip: 如此处所述,我有充分的理由相信GKE 将及时了解负载均衡器的任何更改。kubernetes API 总是(?)位于https://kubernetes(这通常就足够了,或者https://kubernetes.default.svc.cluster.local是它的全名),因此 Pod 执行查找所需的配置应该很少。
该响应的星号是,必须向位于其前面的服务的 Pod 提供服务的名称,因为(大多数情况下)Pod 无法知道有多少个服务点到它。
| 归档时间: |
|
| 查看次数: |
2741 次 |
| 最近记录: |