+ load balacer(nginx) на "железе" вне кубера.
Как сейчас делаем.
1. Добавил новый домен.
2. Добавил service c nodeip
3. Добавил ingress-nginx
4. Добавил руками proxypass в ngixn на load balancer
Вопрос, как автоматизировать? Использовать терраформ? Донастроить ingress controller?
А просто вайлдкард добавить не ма?
а зачем service c nodeport? Можно свести схему к более простой: 1) добавил ingress manifest 2) всё, больше ничего не требуется. Так можно сделать с крайне простым вариантом: ingress controller в hostNetwork: true принимает запросы напрямую от клиента, есть external DNS или ты используешь wildcard адреса DNS (*.example.com) То есть пусть запроса будет такой client => ingress controller (hostNetwork: true) => pod приложения Но если кровь из носу нужен доп. балансировщик перед кубом, можно и твою схему поменять чутка. Балансировщик nginx перед кубом сделать в режиме l3/l4 (streams в nginx), который стримит на ingress controller. Ну и опять external DNS или wildcard чтобы каждый раз DNS адреса не создавать руками. Путь запроса будет таким: client => nginx L3/L4 => ingress controller (терминируем tls) => pod Ну или тот же вариант только с L7 как подсказал @Aleksey_Lazarev. Делаем wildcard tls сертификат и терминируем tls уже на внешнем балансере. Путь запроса будет таким client => nginx L7 (терминируем tls) => ingress controller => pod Во всех вариантах service nodePort для твоего приложения в кубе не потребуется.
Та в принципе можно и без стримс просто добавить вайлдкард домен только тлс будет на внешнем нджинкс делать - но там може выдал вайлдкард сертифкат и живешь
да, можно балансеру перед кубом в L7 работать c wildcard сертификатом. Чет сразу не подумал. И терминирование tls отдать ему же
Снаружи ф5, внутри кубера интеграция
Обсуждают сегодня