Прямо сейчас у меня есть
Я столкнулся с проблемой высокого сетевого трафика внутри кластера. Что случается?
Это статурирует ссылку в кластере. У меня есть несколько идей - иметь 2 входа в кластер (один для обычного и один для статического контента) и принудительный вход статического контента для обработки запроса на том же сервере. - измените политику nginx-ingress для обработки запросов на этом сервере, если это возможно.
Как можно добиться отсутствия переходов, если запрос может обслуживаться на этом хосте?
Можно ли настроить 2 входа в самоуправляемый кластер?
Можно ли создать nodeport только на определенных хостах?
Как можно добиться отсутствия переходов, если запрос может обслуживаться на этом хосте?
Установить Local
значение service.spec.externalTrafficPolicy
аннотация в службе Ingress Controller для NodePort. Он будет проксировать запросы к локальным конечным точкам, никогда не перенаправляя трафик на другие узлы = пакеты, отправленные на узлы без определенных конечных точек (Pod), отбрасываются. Читать Вот подробнее об этой встроенной функции K8S Service.
Можно ли настроить 2 входа в самоуправляемый кластер?
Да, вы просто различаете их в определении ресурса Ingress с помощью kubernetes.io/ingress.class
аннотация (например, kubernetes.io/ingress.class: "nginx"
).
Читать Вот подробнее о возможности развертывания нескольких контроллеров Ingress в одном кластере K8S.
Можно ли создать nodeport только на определенных хостах?
Косвенно через использование сходство узлов, который заставляет модули планироваться / запускаться на определенных узлах. С помощью функции, заданной в вашем первом вопросе (service.spec.externalTrafficPolicy: Local
) вы добьетесь этого.