Добавить связанные ресурсы
Разделите Ingress и Service строкой ---; при необходимости добавьте Deployment или Pod. Service с тем же именем в другом namespace не подходит.
Kubernetes / Helm
Вставьте готовый YAML и задайте Host и путь одного запроса для статической проверки.
Вставьте манифесты или загрузите пример.
Локальный анализ в браузере, без кластера и HTTP-запросов.
Exact и Prefix по правилам Kubernetes; особенности контроллера не моделируются.
Пределы: 300 000 символов, 100 ресурсов, 500 путей.
Вставьте манифесты или загрузите пример.
Правило Ingress может подходить запросу, но указывать на порт, которого нет в Service. Проверка маршрутов Ingress показывает, на каком звене эта цепочка прерывается.
Отчёт строится только по вставленным объектам. Он не обращается к кластеру и не посылает HTTP-запрос, поэтому неизвестное состояние не выдаётся за доказанный сбой.
Проверка маршрутов Ingress выбирает самый длинный подходящий путь, а при равной длине отдаёт приоритет Exact. Затем она показывает переход от порта Service к targetPort.
Если указанный порт Service отсутствует, отчёт укажет место обрыва. Если Pod не был вставлен, состояние останется неизвестным, без ложного вывода о недоступности.
Разделите Ingress и Service строкой ---; при необходимости добавьте Deployment или Pod. Service с тем же именем в другом namespace не подходит.
Исходный путь — /. Для проверки /api/orders укажите и HTTP Host, если правило его требует. Пустой Host проверяет лишь правила без имени хоста.
Совпадение означает только статический выбор правила. Обрыв — отсутствующая ссылка, неопределённость — зависимость от контроллера. После правки запустите анализ заново.
Проверка маршрутов Ingress поддерживает Exact, Prefix по сегментам, точный Host и маску одного поддомена. Путь /api не совпадёт с /apix. Маршрутизация Kubernetes Ingress здесь оценивается лишь по стандартным правилам; ошибка 404 Ingress требует проверки кластера.
Backend Ingress ссылается на номер или имя порта Service. Service затем отображает его в targetPort; если поле не задано, используется тот же port.
Если вставлены Pod или шаблон Deployment, selector Service сопоставляется с labels. Без этих ресурсов наличие рабочего EndpointSlice не предполагается.
Причиной 404 бывает несовпадение Host или пути, defaultBackend, rewrite либо само приложение. Отчёт показывает статический маршрут; для фактического ответа нужны логи и запрос к кластеру.
Backend Ingress указывает номер или имя порта Service. Лишь затем Service направляет трафик на targetPort. Порт Pod не обязан совпадать с портом backend.
Нет. Prefix /foo совпадает с /foo и /foo/bar, но не с /foobar. Регистр символов также имеет значение.
Выбирается самый длинный совпадающий путь. При равной длине Exact важнее Prefix; равнозначные правила разных Ingress помечаются как конфликт.
Нет. По YAML нельзя подтвердить готовность Pod, состояние EndpointSlice, DNS, балансировщика и сети.
Остались вопросы о маршруте?
Измените Host и путь примера, чтобы увидеть выбор порта Service.
Данные обрабатываются в браузере.