Фиксированный IP-адрес для рабочего узла Kubernetes, управляемого AWS EKS - PullRequest
0 голосов
/ 28 января 2020

Я использую управляемый AWS EKS Kubernetes кластер. Для рабочих узлов я настроил группу узлов в кластере EKS с двумя рабочими узлами

Node Group

Этим рабочим узлам назначается общедоступный c IP автоматически с помощью EKS:

$ kubectl get nodes -o wide
NAME                                          STATUS   ROLES    AGE   VERSION              INTERNAL-IP   EXTERNAL-IP     OS-IMAGE         KERNEL-VERSION                  CONTAINER-RUNTIME
ip-10-0-0-129.eu-central-1.compute.internal   Ready    <none>   6d    v1.14.7-eks-1861c5   10.0.0.129    1.2.3.4         Amazon Linux 2   4.14.146-119.123.amzn2.x86_64   docker://18.6.1
ip-10-0-1-218.eu-central-1.compute.internal   Ready    <none>   6d    v1.14.7-eks-1861c5   10.0.1.218    5.6.7.8         Amazon Linux 2   4.14.146-119.123.amzn2.x86_64   docker://18.6.1

Для этого примера давайте предположим, что значения, автоматически назначаемые AWS, равны 1.2.3.4 и 5.6.7.8.

При запуске команды изнутри модуля работая на первом узле, я также вижу, что это IP-адрес, с которого выполняются внешние запросы:

$ curl 'https://api.ipify.org'
1.2.3.4

Проблема, с которой я сталкиваюсь сейчас, заключается в том, что я хотел бы настроить этот IP-адрес , Давайте предположим, что у меня есть служба, которую я использую в модуле, которой я не управляю и которая требует внесения в белый список через IP-адрес.

Я не нашел способа указать диапазон IP-адресов для группа узлов (или настройка подсетей для VP C, в которой находится кластер), из которой AWS выберет IP-адрес.

Есть ли другой способ настройки рабочих узлов для использования фиксированные IP-адреса?

1 Ответ

1 голос
/ 28 января 2020

В настоящее время невозможно связать IP-адреса Elasti c с экземплярами, работающими как часть группы узлов EKS. Тем не менее, я предоставлю вам гораздо лучшую альтернативу, которую следует использовать в вашей настройке, которая, по сути, полностью опубликована c.

Во-первых, запустите ваши рабочие узлы или группы узлов в частных подсетях. Это даст вам возможность маршрутизировать к inte rnet через c ip.

. Для достижения ip 1011 * ip, который вы можете внести в белый список желаемой службы, используйте NAT Gateway. Инструкция по настройке . Шлюз NAT будет связан с elasti c IP, который не будет изменяться.

Поскольку вы работаете с EKS, не забудьте изменить конфигурацию aws -vp c -cni с помощью AWS_VPC_K8S_CNI_EXTERNALSNAT = true. Это важно для правильной работы стручков и маршрутизации к inte rnet. Если установлено значение true, правило iptables SNAT и правило IP off-VP C не применяются, и эти правила удаляются, если они уже были применены. Для этого ваши узлы должны работать в частном su bnet и подключаться к inte rnet через AWS NAT Gateway или другое внешнее устройство NAT. подробнее о aws -vp c -cni

...