当我尝试将HTTP请求从集群中的一个Pod发送到另一个Pod时,如何定位它?通过群集IP,服务IP,服务名称?即使看起来如此重要,我似乎也找不到任何文档。任何知识都会有所帮助。谢谢!
答案 0 :(得分:0)
DNS for Services and Pods应该在这里为您提供帮助。
apiVersion: v1
kind: Service
metadata:
name: myservice
namespace: mynamespace
spec:
selector:
name: myapp
type: ClusterIP
ports:
- name: http
port: 80
targetPort: 80
让我们说您已经定义了这样的服务,并且您正在尝试从同一名称空间调用该服务。您可以致电http://myservice.svc.cluster.local:80
。如果要从另一个名称空间调用服务,则可以使用http://myservice.mynamespace.svc.cluster.local:80
答案 1 :(得分:0)
如@ David Maze所述, 您可以找到有关以下内容的更多信息:
简短地:
请执行到您的pod中:
kubectl exec -it <your_pod> -- /bin/bash
执行:
nslookup <your_service>
通过这种方式,您可以检查您的服务是否正在使用DNS工作(假设您的服务在默认名称空间中工作),您应该看到:
<your_service>.default.svc.cluster.local
无法检查:
curl http://<your_service>
or
curl http://<your_service>.default.svc.cluster.local