Я хочу обновить свой кластер GKE, чтобы включить сеть VPC-Native.
Для этого мне нужно создать новый кластер GKE. Хотя я более или менее знаю, как перенести туда свои собственные развертывания, и у меня есть общая стратегия, чтобы не нарушить работу, одна вещь, которую я не могу понять, — это как перенести трафик из одного кластера в другой.
Давайте пометим кластеры как OLD-GKE, с которого я хочу мигрировать, и NEW-GKE, на который я хочу мигрировать.
у меня есть HTTP (ы) развертывание обратного прокси-сервера в OLD-GKE, который обрабатывает трафик и распределяет его дальше по соответствующим службам внутри OLD-GKE. С этим обратным прокси-сервером связана служба K8s типа LoadBalancer, а в Google Cloud IP-адрес, связанный с этим LB, помечен как статический.
Я хотел бы воспроизвести настройку в NEW-GKE, но одна проблема, с которой я столкнулся, заключается в том, что NEW-GKE не сможет создать службу LB с тем же IP-адресом, пока этот IP-адрес не будет освобожден из службы OLD-GKE.
Удаление службы в OLD-GKE с этим IP-адресом приведет к простою между этим удалением и до тех пор, пока контроллер службы NEW-GKE не подберет IP-адрес и не начнет принимать трафик.
я в курсе мультикластерные службы, однако в лучшем случае всегда будет один кластер, и я просто хочу иметь возможность обрабатывать переход без простоев (и это может происходить каждые полгода или около того, например, только для тестирования сценариев аварийного восстановления).
Я пытаюсь найти решение для переноса статического IP-адреса в новую службу GKE LB без простоев. Какие есть доступные решения этой проблемы?
Лучше всего, если бы это можно было сделать с помощью управляемых сервисов в GCP, чтобы я мог управлять им через terraform и сделать это независимым от того, на что он направлен (будь то сервисы GKE, виртуальная машина или что-то еще в будущем).