gpt4 book ai didi

kubernetes - 如何从Pod_B中的另一个container_b知道Pod_A的PortIP地址?

转载 作者:行者123 更新时间:2023-12-02 11:49:25 25 4
gpt4 key购买 nike

示例:

NAMESPACE     NAME       READY     STATUS    RESTARTS   AGE       IP                NODE
test pod_A 1/1 Running 1 17d 192.168.1.171 10-0-0-171.master
test pod_B 1/1 Running 1 17d 192.168.1.172 10-0-0-172.node

通过使用:
kubectl exec -it pod_B --namespace=test -- sh

我可以将 shell 放入在pod_B中运行的container_b中。

但是,当我处于container_b的 shell 中时,如何获得Pod_A的PortIP地址“192.168.1.171”?

有一个类似于的 问题How to know a Pod's own IP address from a container in the Pod?和一些官方文件,例如Exposing Pod Information to Containers Through Environment Variables
Exposing Pod Information to Containers Using a DownwardApiVolumeFile。但是那些不能解决我的问题。

-----------更新-----------

最近,我使用K8s apiserver修复了它。在Pod_B的container_b中,我可以从http://k8s_apiserver:port/api/v1/pods获得JSON响应,对其进行解析,最后获得Pod_A的PortIp。 但是,有没有更简单的方法来处理它?

最佳答案

您可以使用kube-dns在各个pod之间进行服务发现。

当使用名称pod_A为您的pod service_A创建服务时,该服务将是指向您的pod地址的自己的IP地址。该服务还将获得一个DNS名称,例如service_A.service.default.cluster.local。现在,当您希望从pod_Bpod_A进行通信时,您可以使用dns名称,而不必担心pod_A中的ip地址。

关于kubernetes - 如何从Pod_B中的另一个container_b知道Pod_A的PortIP地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42990150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com