Устранение проблем при работе с интеграциями

В данном разделе приведены возможные общие проблемы при работе различных интеграций и способы их решения.

Сетевые запросы интеграций: некорректное разрешение адресов

Проявление: сетевые ошибки при выполнении запросов к внешним системам через интеграции.

В логах сетевых запросов отображаются обращения к доменным именам со следующим суффиксом:

<namespace>.svc.cluster.local

Здесь и далее:

  • <namespace> — название пространства имен, в котором установлена система.

Например, вместо адреса soar.com интеграция обращается к soar.com.evo.svc.cluster.local.

Причина: некорректная работа резолвера (сервиса, преобразующего доменные имена в IP-адреса) операционной системы на узлах кластера, в случае если в корпоративной сети настроен wildcard-домен вида *.example.com и FQDN-адреса узлов кластера находятся в этом домене.

Файл /etc/resolv.conf, который определяет настройки DNS для подов, имеет следующее содержимое:

  • Параметр search содержит домены поиска — список доменов, которые будут автоматически последовательно добавляться к имени сервиса, пока оно не будет успешно разрешено в IP-адрес. Для стандартной политики DNS (dnsPolicy) ClusterFirst это:

    • <namespace>.svc.cluster.local;

    • svc.cluster.local;

    • cluster.local;

    • домены из файла /etc/resolv.conf на хосте кластера.

  • Параметр nameserver содержит адрес DNS-сервера.

  • Параметр options ndots содержит количество точек в доменном имени, при котором резолвер попытается разрешить его напрямую, не добавляя суффиксы из списка search. В Kubernetes параметр options ndots имеет значение 5.

Например, адреса могут разрешаться некорректно в следующей ситуации:

  1. На корпоративном DNS-сервере имеется wildcard-домен *.example.com.

  2. Узлы кластера имеют имена master.example.com, worker01.example.com и worker02.example.com.

В таком случае внутри подов файл /etc/resolv.conf будет иметь вид:

search <namespace>.svc.cluster.local svc.cluster.local cluster.local example.com
nameserver 169.254.25.10
options ndots:5

Пусть интеграция отправляет запрос к адресу soar.com. В таком случае резолвер совершит три неудачных попытки преобразования имен, используя домены из списка search:

  • soar.com.<namespace>.svc.cluster.local;

  • soar.com.svc.cluster.local;

  • soar.com.cluster.local.

При четвертой попытке произойдет преобразование имени soar.com.example.com, которое вернет IP-адрес не SOAR-системы soar.com, а адрес сети *.example.com.

Решение: в настройках интеграций, для которых возникает данная проблема, добавьте к адресу внешней системы точку в конце. Например, если был указан адрес R-Vision SOAR https://soar.company.local, его следует заменить на https://soar.company.local.. В таком случае адрес внешней системы будет полным с точки зрения резолвера и обращение к списку поисковых доменов в файле /etc/resolv.conf выполняться не будет.

Существуют иные способы решения данной проблемы, однако они требуют большего количества изменений в конфигурации системы и сети.

Подробности приведены в подразделе Сетевые запросы к внешним системам: некорректное разрешение адресов раздела Устранение проблем при эксплуатации системы.

Была ли полезна эта страница?

Обратная связь