Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 使用pod'调用pod;s名称而不是主机和端口_Kubernetes_Minikube_Coredns - Fatal编程技术网

Kubernetes 使用pod'调用pod;s名称而不是主机和端口

Kubernetes 使用pod'调用pod;s名称而不是主机和端口,kubernetes,minikube,coredns,Kubernetes,Minikube,Coredns,我在本地minikube集群中运行一组相互通信的微服务(使用helm图表)。每个服务的主机和端口都通过value-dev.yaml传递给其他服务,通信工作正常。现在我需要更进一步,从http://helm-chart-name:PORT/至http://helm-chart-name/或http://service-pod-name/。我试着这么做,但没有成功。有没有办法做到这一点?如果您需要使用pod进行访问,DNS解析如下: pod ip address.deployment name.my

我在本地minikube集群中运行一组相互通信的微服务(使用helm图表)。每个服务的主机和端口都通过
value-dev.yaml
传递给其他服务,通信工作正常。现在我需要更进一步,从
http://helm-chart-name:PORT/
http://helm-chart-name/
http://service-pod-name/
。我试着这么做,但没有成功。有没有办法做到这一点?

如果您需要使用pod进行访问,DNS解析如下:
pod ip address.deployment name.my namespace.svc.cluster domain.example
。考虑到pod的短暂性和运行多个同类pod的可能性,我建议使用服务抽象进行集群内通信,就像您所需要的那样。服务解析到此格式的DNS
my svc.my namespace.svc.cluster domain.example
。您还可以使用headless服务并解析为具有特定(主机)名称的Pod。请参阅服务中的(特别是)将
端口设置为80。这是HTTP的默认TCP端口号,因此如果URL中没有
..:12345
端口号,则将使用该端口号。
targetPort:
需要匹配pod正在监听的任何端口;它不需要匹配
端口:

apiVersion:v1 种类:服务 元数据: 名称:{{include“chart.fullname”。} 规格: 选择器: {{-include“chart.selectorLabels”。{nintent 4} 端口: -名称:http 协议:TCP 端口:80#默认HTTP端口 targetPort:3000#匹配Pod使用的端口号
现在其他服务可以调用
http://helm-chart-name/
无需明确给出端口号

(您几乎总是需要使用服务来接受到pod的连接;您通常不会直接与pod通信,除了一些特殊情况外,这样做很棘手。)