如何向 Kubernetes 服务发出请求?

mat*_*att 1 docker kubernetes

当我尝试将 HTTP 请求从集群中的一个 Pod 发送到另一个 Pod 时,如何定位它?由集群IP、服务IP、服务名称组成?我似乎找不到任何关于此的文档,尽管它看起来是一个很大的部分。任何知识都会有帮助。谢谢!

Sea*_*lak 8

服务和 Pod 的 DNS应该可以帮助您。

apiVersion: v1
kind: Service
metadata:
  name: myservice
  namespace: mynamespace
spec:
  selector:
    name: myapp
  type: ClusterIP
  ports:
  - name: http
    port: 80
    targetPort: 80
Run Code Online (Sandbox Code Playgroud)

假设您有一个这样定义的服务,并且您尝试从同一名称空间调用该服务。你可以打电话http://myservice.svc.cluster.local:80。如果你想从另一个命名空间调用服务,你可以使用http://myservice.mynamespace.svc.cluster.local:80