Вопрос: Является ли облачная сеть Google Cloud LoadBalancer, созданная Kubernetes (через Google Container Engine), отправляет трафик на хосты, которые не прослушиваются? «Этот целевой пул не имеет проверки работоспособности, поэтому трафик будет отправлен во все экземпляры, независимо от их статуса».Является ли Google Container Engine Kubernetes Service LoadBalancer отправлением трафика на невосприимчивые хосты?
У меня есть сервис (обратный прокси-сервер NGINX), предназначенный для конкретных контейнеров и доступный TCP: 80, 443. В моем примере в пул экземпляров работает только один модуль NGINX. Тип службы - «LoadBalancer». С помощью Google Container Engine создается новый LoadBalancer (LB), который указывает целевые пулы, конкретные экземпляры виртуальных машин. Затем создается эфемерный внешний IP-адрес для LB и связанного с ним правила брандмауэра, который разрешает входящий трафик.
Моя проблема заключается в том, что описание правила автоматического создания firewall Kubernetes является «KubernetesAutoGenerated_OnlyAllowTrafficForDestinationIP_1.1.1.1» (IP - это внешний IP-адрес LB). В тестировании я заметил, что хотя каждый экземпляр виртуальной машины имеет внешний IP-адрес, я не могу связаться с ним на порту 80 или 443 на любом из IP-адресов экземпляра, а только на LB IP. Это неплохо для внешнего трафика пользователя, но когда я попытался создать проверку работоспособности для моего LB, я обнаружил, что он всегда видел, что службы недоступны, когда он проверял каждый экземпляр виртуальной машины по отдельности.
У меня есть правильные правила брандмауэра, чтобы любой IP-адрес мог связываться с TCP 443, 80 на любом экземпляре в моем пуле, так что это не проблема.
Может кто-нибудь объяснить это мне, потому что это заставляет меня думать, что LB передает HTTP-запросы в оба экземпляра, несмотря только на один из тех экземпляров, на котором работает NGINX-блок.
Также см. Https://github.com/kubernetes/kubernetes/issues/14661 –
Благодарим за продуманный ответ. Я не понимал, что процесс kube-proxy перенаправляется на другие узлы в кластере. Я предполагал, что он проксировал только стручки на своем узле. – Zach