Как получить полное доменное DNS-имя службы kubernetes?

#kubernetes #dns #kubernetes-dns

#kubernetes #dns #kubernetes-dns

Вопрос:

Как получить полное доменное имя службы внутри 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
  

итак, как запросить внутренний DNS Kubernetes, чтобы получить полное доменное имя серверной службы, например?

Ответ №1:

Зайдите в любой модуль в том же пространстве имен с kubectl exec -ti <your pod> bash , а затем запустите nslookup <your service> , что обычно и будет, если вы не измените некоторые конфигурации в кластере на: yourservice.yournamespace.svc.cluster.local

Комментарии:

1. Чтобы установить утилиту nslookup в свой модуль apt update и apt-get install dnsutils

2. apt-get доступен только внутри контейнеров, производных от Debian. Если вы не используете Debian или связанный с ним, вам нужно использовать менеджер пакетов вашего дистрибутива, и пакет может называться по-другому.