У нас есть установка Kubernetes, размещенная в локальной сети, и мы пытаемся разрешить клиентам за пределами K8s подключаться к службам, размещенным в кластере K8s.
Для того, чтобы эта работа выполнялась с помощью HA Proxy (который работает за пределами K8s), у нас есть конфигурация бэкэнда HAProxy следующим образом -
backend vault-backend
...
...
server k8s-worker-1 worker1:32200 check
server k8s-worker-2 worker2:32200 check
server k8s-worker-3 worker3:32200 check
Теперь это решение работает, но имена рабочих и соответствующие порты узла жестко запрограммированы в этой конфигурации, что, очевидно, неудобно, так как и когда больше рабочихдобавлены (или удалены / изменены).
Мы натолкнулись на HAProxy Ingress Controller (https://www.haproxy.com/blog/haproxy_ingress_controller_for_kubernetes/), который звучит многообещающе, но (мы чувствуем) эффективно добавляет еще один слой HAProxy к миксу .. и таким образом, добавляет еще одну точку отказа.
Есть ли лучшее решение для реализации этого требования?