Как работает Kubernetes external IP multi-pod routing?

У меня есть кластер Kubernetes с голым металлом с контроллером входа haproxy (набор демонов) на внешнем ip. Можно ли ограничить kube-proxy маршрутизацией к локальному входному модулю haproxy?

Чтобы быть более конкретным, у меня есть 2 модуля контроллера входа haproxy, и я использую для них один внешний IP-адрес. Насколько я понимаю, kube-proxy будет маршрутизировать пакеты в циклическом режиме. Я не нашел способа ограничить это конкретное поведение.

1 ответ

Задавать externalTrafficPolicy: Local в службе NodePort.

Это приведет к тому, что трафик, идущий на узел X, будет идти только в модуль на узле X. Если на узле X нет модуля, трафик будет отброшен (но это не должно быть проблемой, поскольку вы используете DaemonSet).

Еще одно преимущество состоит в том, что это сохраняет истинный IP-адрес источника, который видит haproxy. БезexternalTrafficPolicy, возможно, что haproxy видит исходный IP-адрес другого узла вместо исходного, поскольку узлы могут проксировать трафик.

Больше информации здесь

Другие вопросы по тегам