Имя не разрешается в kubernetes с докером - PullRequest
0 голосов
/ 02 июля 2018

Когда я запускаю nslookup в моем док-контейнере, я получаю эту ошибку

 nslookup  10.0.96.xx
 nslookup: can't resolve '(null)': Name does not resolve

 Name:      10.0.96.xx
 Address 1: 10.0.96.xx

Я читал, что проблема связана с докером, который внедряет это в resolv.conf:

nameserver 10.109.0.xx
nameserver 10.96.0.xx
search devlan.xxx.corp poc.svc.cluster.local svc.cluster.local cluster.local
options ndots:2 edns0

С kubernetes я попытался перезаписать его следующими параметрами на моем PodConfFile.yaml.

spec:
  dnsPolicy: "None"
#  dnsPolicy: ClusterFirst
  dnsConfig:
   nameservers:
     - 10.109.0.xx
     - 10.96.0.xx
   searches:
     - devlan.xxx.corp
     - poc.svc.cluster.local
     - svc.cluster.local
     - cluster.local
   options:
     - name: ndots
       value: "2"
     - name: edns0

Есть ли у вас какие-либо советы по решению этой проблемы?

  • Версия докера: 18.03.1-ce
  • go1.9.3

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

в противном случае я нашел другое решение намного чище

если ваш модуль не может разрешить URL, и у вас есть @IP 10.0.96.XX в вашем / etc / resolv.conf

nslookup  10.0.96.xx
 nslookup: can't resolve '(null)': Name does not resolve

Чтобы исправить это:

vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf  

смените @IP адрес на свой IP

Environment="KUBELET_DNS_ARGS=--cluster-dns=YOUR-IP-DNS --cluster-domain=cluster.local"

И перезапустить кублет

systemctl restart kubelet.service

Надеюсь, это поможет вам;)

и вы можете удалить из Pod.yaml

DnsPolicy

0 голосов
/ 02 июля 2018

я нашел решение этой проблемы. на вашем стручке удалите этот параметр

поиск параметров сервера имен

и добавь один

spec:
  dnsPolicy: Default

он наследует непосредственно конфигурацию DNS.

Вы сможете пинговать внешние сервисы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...