Запрос Kubernetes к значению таймаута обслуживания - PullRequest
0 голосов
/ 31 августа 2018

Мы используем Kubernetes v1.9.5 на голом железе, развернутый с kubespray, сетевой драйвер - flannel.

При выполнении HTTP-запроса от pod к другой службе, если у этой службы нет конечной точки, запрос зависает на ровно 130 секунд (я зарегистрировался через NodeJS сетевую библиотеку и через curl).

Откуда это значение?

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

Любая помощь приветствуется.

1 Ответ

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

Похоже, что iptables будет DROP-пакет, если он предназначен для несуществующей конечной точки, и DROP никогда не отправит сообщение обратно запрашивающей стороне ( DROP / REJECT ). Это приведет к удалению от запрашивающей стороны. Повторные попытки зависят от параметра net.ipv4.tcp_syn_retries и по умолчанию его 6 в CentOS-7

Когда я устанавливаю net.ipv4.tcp_syn_retries=1 в миньоне, где работает модуль запрашивающего, тайм-аут наступает через 3 секунды вместо 2 м 7.23 с

Надеюсь, это проясняет, почему curl или любой запрос на подключение к порту зависает на долгое время, если запрос относится к несуществующей конечной точке.

...