如何向Kubernetes服务提出请求?

时间:2019-05-22 22:50:38

标签: docker kubernetes

当我尝试将HTTP请求从集群中的一个Pod发送到另一个Pod时,如何定位它?通过群集IP,服务IP,服务名称?即使看起来如此重要,我似乎也找不到任何文档。任何知识都会有所帮助。谢谢!

2 个答案:

答案 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