Kubernetes LoadBalancer с новым IP на услугу из локальной сети DHCP - PullRequest
0 голосов
/ 23 июня 2018

Я пробую Kubernetes на голом железе, в качестве примера у меня есть докер-контейнеры, выставляющие порт 2002 (это не HTTP).

Мне не нужно распределять трафик баланса между моими модулями, поскольку каждый новый модуль выполняет свою работу не для тех же сетевых клиентов.

Существует ли программное обеспечение, позволяющее получать доступ к каждой новой созданной службе с новым IP-адресом из внутреннего DHCP, чтобы я мог сохранить свой исходный порт контейнера?

Я могу создать службу с NodePort и получить доступ к этому модулю через какой-то случайно сгенерированный порт, который перенаправляется на мой порт 2002 года.

Но мне нужно сохранить этот порт 2002 при доступе к моим контейнерам.

Каждый новый сервис должен быть доступен по новому IP-адресу локальной сети, но с тем же портом, что и контейнеры.

Существует ли какой-нибудь сетевой плагин (LoadBalancer?), Который позволит пересылать данные с IP-адреса, назначенного DHCP, на этот случайно сгенерированный сервисный порт, чтобы я мог получить доступ к контейнерам по оригинальным портам?

1 Ответ

0 голосов
/ 23 июня 2018

Запуск службы в Kubernetes, затем доступ к этой службе с IP: 2002, затем запуск другой службы, но с тем же образом контейнера, что и у предыдущего, и затем доступ к нему с другим_новым_IP: 2002

Ах, это происходит автоматически в пределах кластера - каждый Pod имеет свой собственный IP-адрес. Я знаю, что вы сказали «голый металл», но этот пост от Lyft может дать вам некоторое представление о том, как вы можете пропустить или расширить SDN и превратить IP-адреса модуля в маршрутизируемое адресное пространство, делая именно то, что вы хотите.

В более реальных терминах: у меня никогда не было необходимости пытаться сделать это, но CNI , вероятно, достаточно гибок, чтобы взаимодействовать с сервером DHCP и извлекать IP-адрес блока из заранее определенного пула, до тех пор, пока пул достаточно велик для размещения частоты создания и завершения Pod.

В любом случае, я бы обязательно прочитал пост в блоге с описанием вашей попытки - успешной или нет - осуществить это!


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

...