У меня есть кластер Kubernetes на Google Kubernetes Engine. Я хочу назначить статический IP-адрес для всего исходящего трафика кластера.

Я уже зарезервировал внешние IP-адреса, но я не могу назначить их кластеру с помощью консоли GCP.

Я нашел решение сделать это с помощью cli: Статический исходящий IP-адрес в Kubernetes

Но он нацелен на виртуальную машину, и мне нужно будет настраивать его каждый раз при развертывании. Так что он не нацелен на кластер.

Кто-нибудь может предоставить указатели? Спасибо.

0
raven8 24 Сен 2018 в 20:24

2 ответа

Лучший ответ

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

advanced network k8s

Вам придется использовать упомянутый вами API gcloud, который должно быть легко вставить в сценарий.

Или вы также можете использовать пользовательский интерфейс, отредактировав экземпляр (ы) и войдя в «Сетевые интерфейсы» следующим образом:

network

1
Rico 24 Сен 2018 в 18:35

Я согласен с чем-то в предыдущем ответе, вы не можете делать что-то подобное непосредственно в кластере, но вы можете использовать другую службу, чтобы делать то, что вы ищете: шлюз nat, который будет использовать фиксированный общедоступный IP-адрес.

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

Я не буду объяснять, как это работает здесь, потому что Google уже предоставил руководство по тому, что вы хотите сделать здесь: https://cloud.google.com/solutions/using-a-nat-gateway-with-kubernetes-engine

Наслаждаться.

1
night-gold 24 Сен 2018 в 21:46