Запрос Kubernetes к значению таймаута обслуживания
Мы используем Kubernetes v1.9.5
на голом металле, развернут с kubespray
, сетевой драйвер - flannel
,
При выполнении HTTP-запроса от pod к другой службе, если эта служба не имеет конечной точки, запрос зависает ровно на 130 секунд (я зарегистрировался через NodeJS
чистая библиотека и через curl
).
Откуда это значение?
Во время записи мы заметили повторные попытки установить соединение с сервисом.
Любая помощь приветствуется.
1 ответ
Похоже, что iptables будет DROP-пакет, если он предназначен для несуществующей конечной точки, и DROP никогда не отправит сообщение обратно запрашивающей стороне ( DROP / REJECT). Это приведет к удалению от запрашивающей стороны. Повторные попытки зависят от параметра net.ipv4.tcp_syn_retries
и по умолчанию его 6 в CentOS-7
Когда я установил net.ipv4.tcp_syn_retries=1
в миньоне, где работает модуль запрашивающего, тайм-аут происходит через 3 секунды вместо 2 м
Я надеюсь, что это проясняет, почему curl или любой запрос на подключение к порту зависает на долгое время, если запрос относится к несуществующей конечной точке.