DmitrySemenov
DmitrySemenov

Reputation: 10315

How to get FQDN DNS name of a kubernetes service?

How to get a full FQDN of the service inside Kubernetes?

➜ k get svc -o wide  
NAME                     TYPE           CLUSTER-IP       EXTERNAL-IP                             PORT(S)    AGE     SELECTOR
airflow-flower-service   ClusterIP      172.20.119.107   <none>                                  5555/TCP   20d     app=edna-airflow
airflow-service          ClusterIP      172.20.76.63     <none>                                  80/TCP     20d     app=edna-airflow
backend-service          ClusterIP      172.20.39.154    <none>                                  80/TCP     20d     app=edna-backend

so how to query internal Kubernetes DNS to get the FQDN of the backend-service for example?

Upvotes: 11

Views: 15460

Answers (2)

Allen Morris
Allen Morris

Reputation: 29

You can get it for all services (if it is known)

kubectl get services -o jsonpath='{range .items[*]}{.metadata.annotations.kubernetes\.fqdn}' ; echo

or a particular service

kubectl get service $SERVICE_NAME -o jsonpath='{range .items[*]}{.metadata.annotations.kubernetes\.fqdn}' ; echo

Upvotes: 0

paltaa
paltaa

Reputation: 3244

Go inside any pod in the same namespace with kubectl exec -ti <your pod> bash and then run nslookup <your service> which will typically be, unless you change some configurations in the cluster to: yourservice.yournamespace.svc.cluster.local

Upvotes: 23

Related Questions