Развертывание Google Cloud и изменение IP-адреса узла Kubernetes - PullRequest
0 голосов
/ 28 февраля 2019

Наша база данных работает в кластере Kubernetes (развернутом в нашей частной сети) в облаке Google уже несколько месяцев.На прошлой неделе мы заметили, что по какой-то причине IP-адрес всех базовых узлов (ВМ) изменился.Это вызвало сбой.Мы использовали конфигурацию NodePort Kubernetes для нашего сервиса для доступа к нашей базе данных (https://kubernetes.io/docs/concepts/services-networking/service/#nodeport). Мы понимаем, что IP-адрес модулей в виртуальных машинах является динамическим и в конечном итоге изменится, однако мы не знали, что IP-адресадрес реальных узлов (ВМ) также может измениться. Это нормально? Кто-нибудь знает, что может вызвать изменение IP-адреса виртуальной машины в кластере Kubernetes?

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Из документации о эфемерных IP-адресах в GCP,

Когда вы создаете экземпляр или правило переадресации без указания IP-адреса, ресурсу автоматически назначается эфемерный внешнийАйпи адрес.Эфемерный внешний IP-адрес освобождается от ресурса, если вы удаляете ресурс.Для экземпляров виртуальных машин, если вы остановите экземпляр, IP-адрес также освобождается.После перезапуска экземпляра ему назначается новый эфемерный внешний IP-адрес.

Вы можете назначать статические внешние IP-адреса экземплярам, ​​но, как упоминалось @Notauser, это не рекомендуется для узлов Kubernetes.Это потому, что вы можете настроить autoscaler для ваших групп экземпляров, а размеры узлов можно уменьшить или увеличить.Также вам необходимо зарезервировать статический IP-адрес для каждого узла, что не рекомендуется.Более того, вы будете тратить ресурсы статического IP-адреса, и если зарезервированные статические IP-адреса не используются, вы все равно будете платить за это.

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

0 голосов
/ 28 февраля 2019

Если вы используете управляемый кластер Kubernetes Engine (GKE), это ожидается, так как узлы являются смертельными и могут быть заменены или перезапущены, если он перестает отвечать на запросы, например.Поэтому IP-адрес узла изменится.В настоящее время нет способа назначить статический (фиксированный) публичный IP узлам.В этом случае вы должны вместо этого выставить службу БД как IP-адрес кластера.у него будет неизменный статический IP.Вот пример о том, как это сделать.

В качестве альтернативы, если вы используете неуправляемый кластер kubernetes в Compute Engine (GCE), тогда вам просто нужно продвинуть свои узлыIP для статических .

...