Интересно, как решить проблему высокодоступного прокси / входа для моих веб-сервисов, работающих в кластере Kubernetes на AWS.
Прямо сейчас у меня есть nginx-ingress-controller, развернутый на узле, этому узлу назначен EIP, и он действует как пограничный обратный прокси-сервер для доступа к веб-службам, развернутым в кластере.
Это в значительной степени SPOF, когда контроллер nginx не работает, или узел EC2 сломан или что-то в этом роде, нет возможности получить доступ к службам.
Обычно я развертываю keepalived и настраиваю его для переназначения EIP на резервный прокси-узел при выходе из строя основного прокси-сервера nginx.
Какой шаблон для реализации этого с Kubernetes? Я бы выбрал AWS ELB, но он, например, не поддерживает HTTP2 :(
ELB не поддерживает http2 как таковой, но поддерживает TCP. Лучше всего поставить перед узлами кластера k8s ELB. Если вам нужны более изящные функции балансировки нагрузки, вы можете запустить кластер HAProxy или nginx с ELB и положиться на HAProxy или nginx для выполнения любых дополнительных перезаписей / проверки / маршрутизации и т. Д. До попадания в кластер k8s.