я не использовал ha-proxy входной контроллер, хотя. вам придется проверить и посмотреть, соответствует ли оно вашим требованиям. но использовал ha-proxy для прокси трафика базы данных на postgresdb, который работает в k8s
му я работаю над проектом, который включает управление многими экземплярами postgres внутри кластера k8s. Каждый экземпляр управляется с помощьюStateful Set
сService
для сетевого общения. Мне нужно разоблачить каждогоService
в публичный интернет через DNS через порт 5432.
Наиболее естественным подходом здесь является использование K8SLoad Balancer
ресурс и что-то вродевнешний днс для динамического сопоставления DNS-имени с конечной точкой балансировщика нагрузки. Это отлично подходит для многих типов услуг, но для баз данных есть одно серьезное ограничение:время простоя соединения, Максимальное время ожидания простоя AWS ELB составляет 4000 секунд. Существует много длительных аналитических запросов / транзакций, которые легко превышают это количество времени, не говоря уже о потенциально длительных операциях, таких какpg_restore
.
Поэтому мне нужно какое-то решение, которое позволило бы мне обойти ограничения балансировки нагрузки.Node IPs
не может быть и речи, так как мне понадобится порт5432
выставляется для каждого экземпляра postgres в кластере.Ingress
также кажется не совсем идеальным, поскольку это прокси 7-го уровня, который поддерживает только HTTP / HTTPS. Я видел обходные пути с nginx-ingress, включающие некоторые изменения в configmap, но я немного беспокоюсь о том, чтобы совершать подобные хаки для большого проекта.ExternalName
интригующе, но даже если я смогу найти лучшую документацию по нему, я думаю, что в конечном итоге он может иметь такие жеNodeIP
.
Любые предложения будут ценны.