kubernetes DNS如何工作,该服务的主机名是什么?

时间:2019-06-15 11:35:27

标签: c# asp.net-core kubernetes

例如,我部署了一个ASP.NET Core Web API“ mydotnetservice1”。我尝试使用http://mydotnetservice1:5000调用API,但似乎不起作用,这是正确的地址吗?

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: mydotnetservice1
spec:
  replicas: 2
  template:
    metadata:
      labels:
        app: mydotnetservice1
    spec:
      containers:
        - image: "mydockerimages/mydotnetservice1"
          imagePullPolicy: Always
          name: mydotnetservice1
          ports:
            - containerPort: 80

-

apiVersion: v1
kind: Service
metadata:
  name: mydotnetservice1
spec:
  type: LoadBalancer
  ports:
  - port: 5000
    targetPort: 80
  selector:
    app: mydotnetservice1

1 个答案:

答案 0 :(得分:1)

服务的DNS名称采用以下格式

servicename.namespace.svc.cluster.local

服务是虚拟的。您可以在服务定义中将port用作80。这样,可以避免端口。在您的情况下,端口号为5000。您还需要包括端口号,以便从其他Pod调用服务