Я пытаюсь предоставить сервис внутри кластера Kubernetes в одном облачном регионе Google (восток США) и сделать его доступным для другого кластера Kubernetes в другом регионе (центральный регион США). Я бы очень предпочел, чтобы этот трафик не использовал какие-либо общедоступные IP-адреса, а вместо этого оставался внутренним для проекта.
То, что я пытался настроить, было Внутренний балансировщик нагрузки Google Cloud. Я не прочитал это позже:
Внутренние балансировщики нагрузки доступны только из той же сети и региона.
Я подумал, что это немного странно, и попытался обойти это, применив брандмауэры или маршруты, но, похоже, ничего не работает. Все, что находится внутри подсети региона, может достичь LB, но все, что находится за пределами этого региона, не может.
Что действительно сбивает с толку, у меня это работает по-другому в другом проекте. Здесь у меня есть 2 проекта с настройкой пиринга, и это отлично работает. Однако это может быть потому, что они оба находятся в одном регионе ...
Итак, мой вопрос: как мне подключить два кластера Kubernetes и сохранить внутренний трафик в облаке Google без использования общедоступных IP-адресов, а вместо этого использовать внутренние IP-адреса 10.x. Причина такой строгости в отношении того, что сетевой трафик является внутренним, заключается в том, что я изолировал один кластер Kubernetes и не хотел бы, чтобы этот кластер имел какие-либо общедоступные ресурсы любого типа.
Вы можете использовать Частный кластер GKE. Это кластер, недоступный для общественности. Это кластер, к которому можно получить доступ только изнутри. Ваш кластер может быть доступен только в доверенной сети VPC. IP-адреса - внутренние, формата 10.x.x.x.
Инструкции по настройке частного кластера можно найти в этой статье.
К сожалению, ILB пока региональные.