ошибка поиска DNS-файлов - PullRequest
0 голосов
/ 31 августа 2018

Эта настройка выполняется в кластере Amazon EKS.

Я получаю сообщение об ошибке, когда имя хоста в модуле не разрешается в ip кластера.

$ curl -vvv myservice:10000
* Rebuilt URL to: myservice:10000/
* Hostname was NOT found in DNS cache

У env vars есть правильное имя сервиса, ip и порт.

$ env | grep MYSERVICE
MYSERVICE_PORT_10000_TCP_PORT=10000
MYSERVICE_PORT=tcp://172.xx.xx.36:10000
MYSERVICE_PORT_10000_TCP=tcp://172.xx.xx.36:10000
MYSERVICE_PORT_10000_TCP_PROTO=tcp
MYSERVICE_SERVICE_PORT=10000
MYSERVICE_PORT_10000_TCP_ADDR=172.xx.xx.36
MYSERVICE_SERVICE_HOST=172.xx.xx.36
MYSERVICE_SERVICE_PORT_MYSERVICE=10000

Я могу свернуть ip / порт кластера и получить желаемый ответ.

/ etc / resolv.conf выглядит как

$ cat /etc/resolv.conf
nameserver 172.20.0.10
search default.svc.cluster.local svc.cluster.local cluster.local ec2.internal
options ndots:5

Контейнер пропускает шаг для загрузки имени хоста + служебная информация?

1 Ответ

0 голосов
/ 31 августа 2018

Я создал правило входа для всего трафика всей группы безопасности рабочего узла, и оно начало работать. Похоже, что была проблема с контейнерами на хосте, отличном от хоста, на котором были установлены модули kube-dns. Возможно, есть лучшее решение, но на данный момент это решило мою проблему.

РЕДАКТИРОВАТЬ: предыдущий ответ не решил мою проблему. Проблема закончилась тем, что два из трех узлов имели неправильный ip кластера в /etc/systemd/system/kubelet.service. После разрешения, что все модули были в состоянии разрешить DNS. Раньше это было временно исправлено, потому что модуль случайно вращался на одном рабочем узле.

...