Выходной статический IP-адрес Kubernetes. Самое элегантное и работающее решение?

Выходной статический IP-адрес Kubernetes. Самое элегантное и работающее решение?

Может кто-нибудь подскажет, как вы решили эту проблему наиболее оптимальным и элегантным способом? Есть кластер Kubernetes с некоторыми развертываниями, некоторым клиентам нужно добавить наши IP в свой белый список, чтобы приложения могли делать запросы. С учетом масштабируемости кластера необходимо давать новые IP с наших новых узлов для внесения в белый список клиентам или развертывать приложения на тех же узлах.

Решение не оптимальное, поэтому вам нужны фиксированные IP. Сделайте их либо статическими, либо чтобы они выходили через один шлюз.

Установка Kubernetes является стандартной для сетевого провайдера Flannel. У этого провайдера такой функции нет.

  1. Такой особенностью обладает, например, бязь.https://projectcalico.docs.tigera.io/networking/use-specific-ip
  2. Я также нашел этот проект:https://github.com/nirmata/kube-static-egress-ip- кто-нибудь пользовался?

Каковы ваши предложения?

Если поможет, то наш хостинг находится на Hetzner.

Спасибо!

решение1

Самым элегантным решением, вероятно, может быть Antreahttps://antrea.io/docs/v1.3.0/docs/egress/CNI, используемый, например, VMWare Tanzu и другими. С Antrea вы можете определить EgressIPPool, и CNI будет автоматически управлять пулом, предоставляя возможности HA между узлами Kubernetes. Вы устанавливаете метку на тех pod, которые требуют использования статического исходящего адреса, и все готово.

Calico имеет похожую функцию, но Egress Gateway — платная опция, поэтому вы ограничены в использовании IPPool и назначении блоков IP узлам K8s, а также в маркировке определенных модулей, чтобы они использовали эти IP. Как вы уже догадались, в большой кластерной среде эти пулы IP могут очень быстро закончиться. Также у меня были проблемы с маршрутизацией L2 (модули не могли быть доступны с адресов в пределах одной VLAN), но это, вероятно, какая-то ошибка конфигурации с моей стороны.

Я также попытался установить Cillium, и это действительно продвинутый и эффективный продукт, но для выходного шлюза он поддерживает только один IP-адрес на узле (который необходимо вручную настроить на интерфейсе узла) без возможностей высокой доступности.

Если миграция CNI невозможна, ваш последний ресурс

Связанный контент