Kubernetes - 解析服务的主机名

pla*_*oom 2 kubernetes

我想对我的回显服务器执行调用,但我无法弄清楚我的服务的主机名是什么:

orion:webanalytics papaburger$ kubectl get services -n web-analytics
NAME                   TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)      AGE
echo-server            ClusterIP   10.100.92.251    <none>        80/TCP       87m
web-api                ClusterIP   10.100.92.250    <none>        8080/TCP     87m
Run Code Online (Sandbox Code Playgroud)

我尝试使用kubectl exec -it curl-curl0 -- curl http://web-analytics.echo-server.svc.cluster.local/heythere但失败了:

curl: (6) Couldn't resolve host 'web-analytics.echo-server.svc.cluster.local'
Run Code Online (Sandbox Code Playgroud)

如果我更改web-analytics.echo-server.svc.cluster.local为集群ip,它就可以工作。

如何让我的 pod (web-api) 到达 echo 服务器?

编辑:

orion:webanalytics papaburger$ kubectl get ep -n web-analytics
NAME                   ENDPOINTS             AGE
echo-server            172.16.187.247:80     95m
web-api                172.16.184.217:8080   95m
Run Code Online (Sandbox Code Playgroud)

Das*_*kar 5

应该是这样的

服务名称总是这样

<service-name>.<namespace-name>.svc.cluster.local

kubectl exec -it curl-curl0 -- curl http://echo-servcer.web-analytics.svc.cluster.local/heythere
Run Code Online (Sandbox Code Playgroud)

或者替代方法是你可以直接卷曲POD_IP:80