Могут ли модули Kubernetes, использующие сеть хоста, получать доступ к ресурсам службы по имени службы и порту службы?

Может ли модуль Kubernetes, использующий хост-сеть, отправлять запросы непосредственно к ресурсу службы, используя имя службы и порт службы (включая использование CoreDNS)? Или мне нужно открыть службу через nodePort в хост-сети?

1 ответ

Решение

Если вы хотите, чтобы модуль отправлял запросы непосредственно к сервисному ресурсу, вам необходимо изменить модуль модуля. dnsPolicy к ClusterFirstWithHostNet. Его следует использовать явно для модулей, работающих сhostNetwork: true. Таким образом, он будет использовать кластерный DNS и будет находиться в сети хоста.

Вы можете проверить это /etc/resolv.confфайл. Когда вы используетеdnsPolicy: ClusterFirstэтот файл наследуется модулем и использует DNS-преобразователь хоста. Когда вы устанавливаетеdnsPolicy: ClusterFirstWithHostNet он изменит преобразователь DNS на DNS кластера.

Другие вопросы по тегам