Версия Kubernetes 1.29 вводит новый альфа-функционал, который позволяет провайдерам облачных услуг указать, как kube-proxy обрабатывает трафик к сервисам балансировки нагрузки. Эта функция решает проблемы с исходным IP и потерей функций на уровне балансировки нагрузки.
Новое поле .status.loadBalancer.ingress.ipMode может быть установлено в "VIP" или "Proxy". "VIP" сохраняет существующее поведение, при котором kube-proxy перенаправляет трафик напрямую к сервису, в то время как "Proxy" запрещает kube-proxy связывать IP-адрес балансировки нагрузки с узлом.
При режиме "Proxy" трафик отправляется напрямую к балансировщику нагрузки, который затем передает его к целевому узлу. Настройка назначения зависит от того, как провайдер облачных услуг доставляет трафик.
Чтобы включить эту функцию, загрузите Kubernetes 1.29+, включите ворот feature gate на kube-proxy, kube-apiserver и cloud-controller-manager, и установите ipMode в "Proxy" для сервисов балансировки нагрузки.
Cloud-controller-manager обычно обрабатывает настройку ipMode во время процесса EnsureLoadBalancer.
Мотивацией для этой функции является предоставление настраиваемого подхода к оптимизации потока трафика и поддержке функций, предлагаемых провайдерами облачных услуг на уровне балансировки нагрузки.
Значение по умолчанию для ipMode - "VIP", что сохраняет текущее поведение.
Эта функция находится в альфа-версии и может измениться в будущих выпусках.
Более подробную информацию можно найти в документации Kubernetes по теме "Спецификация режима IPMode статуса балансировки нагрузки" и KEP-1860.
Вы можете принять участие в разработке функции, присоединившись к каналу #sig-network Slack или списку рассылки.
Функцию первоначально предложил @Sh4d1, а реализовали разные контрибьюторы.
kubernetes.io
Kubernetes 1.29: New (alpha) Feature, Load Balancer IP Mode for Services
Create attached notes ...
