kubernetes - Does the Google Container Engine support DNS based service discovery? -
from kubernetes docs see there dns based service discovery mechanism. google container engine support this. if so, what's format of dns name discover service running inside container engine. couldn't find relevant information in container engine docs.
the dns name services follow: {service-name}.{namespace}.svc.cluster.local.
assuming configured kubectl work cluster should able service , namespace details following steps below.
get namespace
$ kubectl namespaces name labels status default <none> active kube-system <none> active you should ignore kube-system entry, because cluster itself. other entries namespaces. default there 1 namespace called default.
get services
$ kubectl 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 this command lists services available in cluster. example, if want ip address of service-frontend can use following dns: service-frontend.default.svc.cluster.local.
verify dns busybox pod
you can create busybox pod , use pod execute nslookup command query dns server.
$ 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: eof now can nslookup pod in cluster.
$ 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 here see addres 1 entry ip of service-frontend service, same ip address listed kubectl services.
Comments
Post a Comment