Рейтинг:0

Назначение разных внешних IP-адресов для каждого модуля на автопилоте GKE

флаг cn

Я нахожусь в процессе переноса нашего проекта из Вычислительный движок к ГКЭ автопилот (экономическая эффективность, масштабирование вверх/вниз).

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

Меня просто волнует, что цель/назначение, с которых машины запрашивают данные, увидят, что они с разных IP-адресов.

Как я могу сделать каждый Стручок придумать другой внешний IP (как в GCE)? Без дополнительных/минимальных затрат? Является ли это возможным?

Pit avatar
флаг dz
Pit
Вы проверили документацию, связанную с [поворотом IP-адреса уровня управления] (https://cloud.google.com/kubernetes-engine/docs/how-to/ip-rotation)? Не уверен, что это обновит IP-адреса модулей.
SpazaM avatar
флаг cn
На самом деле, поправьте меня, если я ошибаюсь, но по мере того, как я копаю глубже в k8s, я понимаю, что у Pod никогда не будет внешнего IP, у них должен быть Service (чтобы обслуживать IP во внешний мир), Но я не уверен, что законно создавать 1 модуль с 1 сервисом, скажем, 12 или 15.
Gari Singh avatar
флаг cn
Вам действительно нужно, чтобы каждый модуль выглядел с другого IP-адреса? Или это нормально, что все модули на данном узле приходят с одного и того же IP?
SpazaM avatar
флаг cn
Мне действительно нужно, чтобы каждый модуль выглядел с разных IP-адресов.
Gari Singh avatar
флаг cn
Хорошо, тогда зачем вам нужно, чтобы они появлялись с разных IP-адресов? Просто пытаюсь понять вариант использования, чтобы увидеть, может ли быть альтернатива, которая по-прежнему соответствует основным требованиям.
Рейтинг:1
флаг ng

Каждому поду назначается один IP-адрес из диапазона CIDR пода его узла. Этот IP-адрес используется всеми контейнерами, работающими в поде, и соединяет их с другими подами, работающими в кластере. IP-адрес пода эфемерен (длится очень короткое время) и даже Внешние IP-сервисы не разрешены в кластерах Autopilot. Чтобы дать службе внешний IP-адрес, вы можете использовать тип LoadBalancer Оказание услуг или используйте Вход добавить Сервис на внешний IP-адрес, общий для нескольких сервисов.

Традиционно балансировщики нагрузки HTTP(S), нацеленные на кластеры Kubernetes, фактически нацеливались на его узлы, потому что у них не было способа распознать каждый модуль. Но Google выпустил уровень абстракции Network Endpoint Group (NEG), который обеспечивает балансировку нагрузки на уровне контейнера. Это означает, что балансировщик нагрузки видит модули кластера Kubernetes, поскольку NEG интегрированы с контроллером Kubernetes Ingress, работающим на GCP. Если у них есть многоуровневое развертывание электронной коммерции и они хотят предоставить доступ к одной службе в Интернете с помощью GKE. С помощью NEG они теперь могут предоставлять балансировщик нагрузки HTTP(S), что позволяет им настраивать маршрутизацию на основе пути или хоста к своим внутренним модулям.

Плата за входящий трафик не взимается. Однако за балансировщик нагрузки, обрабатывающий входящий трафик, может взиматься плата. Обратитесь к этому документация для получения сведений о ценах на балансировщики нагрузки введите описание изображения здесь

SpazaM avatar
флаг cn
Привет, спасибо за подробности и длинный ответ. Я просто хочу убедиться, что вы правильно поняли мой вопрос, моя первоначальная и конечная цель состоит в том, чтобы **пункт назначения**, который запрашивают поды, думал, что это разные машины с разных адресов. Поэтому мне нужно, чтобы каждый Pod имел разные внешние IP-адреса (не заботясь о резервировании IP-адресов, входящих запросах), меня волнует только пункт назначения, чтобы думать, что они приходят с разных IP-адресов. Вот почему я начал с GCE и подумал, что GKE может сэкономить мне деньги, но теперь я не уверен, что K8s может предложить такое решение.
Goli Nikitha avatar
флаг ng
@SpazaM, да, я получил ваш вопрос, и мое решение для него заключается в том, что для модулей не предоставляется внешний IP-адрес, поэтому используется служба балансировки нагрузки, которая может размещать внешний IP-адрес и внутренне перенаправлять запрос модулям в наших правилах маршрутизации и балансировщик нагрузки — один из лучших вариантов для равномерного распределения трафика между модулями. Если вы напрямую хотите использовать внешний IP-адрес модуля, это невозможно.
SpazaM avatar
флаг cn
Спасибо за ответ, я просто хотел, чтобы поды были видны в службе назначения как разные IP-адреса (когда они инициируют запрос), я думаю, это невозможно с K8s...
Goli Nikitha avatar
флаг ng
@SpazaM, да, это невозможно.
Goli Nikitha avatar
флаг ng
@SpazaM, если ответ был полезен, отметьте ответ как принятый для большей наглядности для сообщества или проголосуйте, если в ответе есть какая-то полезная информация.
SpazaM avatar
флаг cn
Проголосовал, спасибо.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.