разрешение pod и обслуживания днс - PullRequest
0 голосов
/ 27 февраля 2020

У меня есть кластер kubernetes, на котором я развернул модули и службы. Один из модулей должен подключаться к службе через имя службы с учетом его манифеста.

Все службы и модули развернуты в пространстве имен по умолчанию.

При просмотре журналов возникает следующая ошибка модуля:

cassandra cluster ['cassandra'] not reachable: [Errno -8] Unrecognized service

Caused by: java.net.UnknownHostException: cassandra: Name does not resolve
        at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
        at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
        at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
        at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
        at java.net.InetAddress.getAllByName(InetAddress.java:1192)
        at java.net.InetAddress.getAllByName(InetAddress.java:1126)
        at com.datastax.driver.core.Cluster$Builder.addContactPoint(Cluster.java:884)

У меня развернута служба под названием cassandra.

Когда я запускаю nslookup внутри модуля, здесь вывод:

kubectl exec -it pod/kairosdb -- nslookup cassandra
nslookup: can't resolve '(null)': Name does not resolve

Name:      cassandra
Address 1: <ip> cassandra.default.svc.cluster.local

Поиск некоторая помощь по устранению неполадок.

Ответы [ 2 ]

1 голос
/ 27 февраля 2020

Для локального поиска используйте полное имя службы. В этом случае cassandra.deployed-namespace-name.sv c .cluster.local .

1 голос
/ 27 февраля 2020

Если модуль пытается получить доступ к службе, которая находится в другом пространстве имен, вам необходимо указать пространство имен службы.

cassandra.namespacename

См. это для дополнительной отладки. помощь.

...