Nslookup, за которым следует имя домена, отобразит «A-запись» (IP-адрес) домена - в вашем случае для службы nginx -сервис вывод:
[ root@curl-69c656fd45-d7w8t:/ ]$ nslookup nginx-service
Server: 10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local
Name: nginx-service
Address 1: 23.202.231.169 a23-202-231-169.deploy.static.akamaitechnologies.com
Address 2: 23.217.138.110 a23-217-138-110.deploy.static.akamaitechnologies.com
Ваш сервер имен возвратил две записи: 23.202.231.169 с именем a23-202-231-169.deploy.stati c .akamaitechnologies.com и 23.217.138.110 с именем a23-217-138-110.deploy.stati c .akamaitechnologies.com .
Это указывает на то, что nginx -service использует циклическую настройку для распределения нагрузки на сервер. При доступе к nginx -сервису вы можете быть перенаправлены на любой из этих серверов, и ваши пакеты будут направлены в правильный пункт назначения. Обратите внимание, что эти записи не распознаются списком поиска для поиска имени хоста (resolv.conf
). В этом файле нет таких доменов, как: deploy.static.akamaitechnologies.com
, static.akamaitechnologies.com
и akamaitechnologies.com
. Вот почему вы не можете получить прямой доступ к nginx-service:1234
.
Пока вы обращаетесь к nginx -service.default:
[ root@curl-69c656fd45-d7w8t:/ ]$ nslookup nginx-service.default
Server: 10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local
Name: nginx-service.default
Address 1: 10.103.69.73 nginx-service.default.svc.cluster.local
Ваш сервер имен вернул одну запись, 10.103. 69,73 с именем nginx -service.default.sv c .cluster.local . Имя nginx -service.default.sv c .cluster.local распознается в списке поиска - домен svc.cluster.local
.
Как работает поиск в файле resolv.conf
Посмотрите на ваш resolv.conf
файл:
[ root@curl-69c656fd45-d7w8t:/ ]$ cat /etc/resolv.conf
nameserver 10.96.0.10
search default.svc.cluster.local svc.cluster.local cluster.local attlocal.net
options ndots:5
Если вы хотите использовать директиву поиска для разрешения коротких имен хостов - например, test
.
Так что если у вас есть следующее в /etc/resolv.conf
:
search default.svc.cluster.local svc.cluster.local cluster.local
, тогда ваш компьютер попытается разрешить test.default.svc.cluster.local
с последующим test.svc.cluster.local
и test.cluster.local
. Он вернет первый успешный запрос.
Посмотрите: resolv.conf , nslookup .
РЕДАКТИРОВАТЬ:
Отвечая на ваш вопрос в комментариях. Вы сравниваете неправильные строки. Вы должны прочитать строки под полем: name
в файле nslookup, как я сказал для хоста nginx-service
:
Name: nginx-service
Address 1: 23.202.231.169 a23-202-231-169.deploy.static.akamaitechnologies.com
Address 2: 23.217.138.110 a23-217-138-110.deploy.static.akamaitechnologies.com
для nginx-service.default
:
Name: nginx-service.default
Address 1: 10.103.69.73 nginx-service.default.svc.cluster.local
поток - это: executing command ns lookup -> checking entrypoints(line below host with adress and hostname)-> comparing entrypoints and its domains to domain listed in /etc/resolv.conf
файл, если он не совпадает, это означает, что мы не можем достичь указанного c хоста. Ваш nginx-service
"хит" a23-202-231-169.deploy.static.akamaitechnologies.com
НЕ nginx-service.default.svc.cluster.local
, но nginx-service.default
хит nginx-service.default.svc.cluster.local
.
10.96.0.10
- это адрес сервера доменных имен нашей системы с именем kube-dns.kube-system.svc.cluster.local
. Это сервер, на котором ваша система настроена для преобразования доменных имен в IP-адреса.
Говоря о домене deploy.static.akamaitechnologies.com
Akamai - это сеть доставки контента, используемая Symante c (и многими другими компаниями). Kubernetes - это сервис облачных вычислений, который используется большим количеством компаний также для содержимого inte rnet. Эти услуги необходимы для предоставления контента при посещении определенных веб-сайтов и для доставки таких вещей, как обновления продукта. Нормально видеть подключения к этим сайтам, когда вы посещаете определенные другие сайты или у вас установлены определенные продукты, такие как Norton. По сути, они предоставляют серверы, необходимые для быстрого распространения больших объемов данных в различные регионы мира, обеспечивая балансировку inte rnet traffi c, чтобы не перегружать отдельные местоположения серверов.
Более подробную информацию вы можете найти здесь: nslookup , akamai .
Последняя часть "Как работает поиск в файле resolv.conf" была простым объяснением того, как анализировать список поиска в файле /etc/resolv.conf
.