Kubernetes Google容器引擎是否支持基于DNS的服务发现?

Kubernetes Google容器引擎是否支持基于DNS的服务发现?,kubernetes,google-kubernetes-engine,Kubernetes,Google Kubernetes Engine,从kubernetes的文件中,我看到了一种机制。谷歌容器引擎支持这个吗。如果是这样,DNS名称的格式是什么,以发现容器引擎中运行的服务。我在容器引擎文档中找不到相关信息。它的工作方式应该与您链接到的文档中提到的相同。你试过了吗?(即“my service.my ns”)服务的DNS名称如下:{service name}.{namespace}.svc.cluster.local 假设您将kubectl配置为使用集群,您应该能够通过以下步骤获得服务和命名空间详细信息 获取您的命名空间 此命令列出

从kubernetes的文件中,我看到了一种机制。谷歌容器引擎支持这个吗。如果是这样,DNS名称的格式是什么,以发现容器引擎中运行的服务。我在容器引擎文档中找不到相关信息。

它的工作方式应该与您链接到的文档中提到的相同。你试过了吗?(即“my service.my ns”)

服务的DNS名称如下:
{service name}.{namespace}.svc.cluster.local

假设您将
kubectl
配置为使用集群,您应该能够通过以下步骤获得服务和命名空间详细信息

获取您的命名空间 此命令列出集群中可用的所有服务。例如,如果我想获取
服务前端的IP地址,我可以使用以下DNS:
服务前端.default.svc.cluster.local

使用busybox pod验证DNS 您可以创建一个busybox pod,并使用该pod执行
nslookup
命令来查询DNS服务器

$ kubectl create -f - << EOF
apiVersion: v1
kind: Pod
metadata:
  name: busybox
  namespace: default
spec:
  containers:
  - image: busybox
    command:
      - sleep
      - "3600"
    imagePullPolicy: IfNotPresent
    name: busybox
  restartPolicy: Always
EOF
这里您可以看到,
Addres 1
条目是
服务前端
服务的IP,与
kubectl get services
列出的IP地址相同

$ kubectl get services
NAME                  LABELS                                                    SELECTOR                   IP(S)            PORT(S)
broker-partition0     name=broker-partition0,type=broker                        name=broker-partition0     10.203.248.95    5050/TCP
broker-partition1     name=broker-partition1,type=broker                        name=broker-partition1     10.203.249.91    5050/TCP
kubernetes            component=apiserver,provider=kubernetes                   <none>                     10.203.240.1     443/TCP
service-frontend      name=service-frontend,service=frontend                    name=service-frontend      10.203.246.16    80/TCP
                                                                                                           104.155.61.198   
service-membership0   name=service-membership0,partition=0,service=membership   name=service-membership0   10.203.246.242   80/TCP
service-membership1   name=service-membership1,partition=1,service=membership   name=service-membership1   10.203.248.211   80/TCP
$ kubectl create -f - << EOF
apiVersion: v1
kind: Pod
metadata:
  name: busybox
  namespace: default
spec:
  containers:
  - image: busybox
    command:
      - sleep
      - "3600"
    imagePullPolicy: IfNotPresent
    name: busybox
  restartPolicy: Always
EOF
$ kubectl exec busybox -- nslookup broker-partition0.default.svc.cluster.local
Server:    10.203.240.10 
Address 1: 10.203.240.10

Name:      service-frontend.default.svc.cluster.local
Address 1: 10.203.246.16