Kubernetes Ingress (GCE) приводит к тому, что селекторы службы по умолчанию перестают работать - PullRequest
0 голосов
/ 19 декабря 2018

Я пытаюсь настроить сине-зеленую среду развертывания для приложения.До сих пор все работало довольно хорошо с использованием этой спецификации (упрощенной до соответствующих частей): https://gist.github.com/haleyrc/3c648087ceeb2aa762b7a7b0efefaa3a.

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

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

Я даже запустил службу как LoadBalancer одновременно с Ingress работал и curl работал одновременно.Ответы от Service были только от используемого развертывания, тогда как ответы от Ingress представляли собой сочетание использования и неиспользования.

Нет включенного кэшированиямой бэкэнд сервис и нет CDN на месте.Более того, выполнение kubectl describe ingress backend-ingress показывает правильный сервисный бэкэнд и IP-адреса правильных модулей.

Есть ли что-то простое, что мне не хватает, что может вызвать ответы от модулей за пределами выбранной группы, но только при прохождении через GCE Ingress?

...