container native load balancing, а так же при наличии NEG для pods все запросы с Load Balancer идут сразу на поды мимо сервисов?
А так же если pod имеет несколько контейнеров, то Load Balancer отправляет запросы на неё независимо от состояния других контейнеров (ready/not ready)?
Это значит, что в разрезе сети пакеты бегут прямиком поды не делая хоп на VM хосте. Представь себе это так будто у тебя каждому поду дали IP внутри VPC диапазона. Аннотируя сервис neg'ом ты говоришь куберу, чтобы тот сказал GCP замутить NEG, а кубер в свою очередь выставит сервис эндпоинты в качестве NEG эндпоинтов. Насчёт состояния контенйров я не уверен, но думаю это зависит от настроек healthcheck'ов.
Спасибо На данный момент у меня есть несколько реплик одного deployment. Там описано 2 контейнера. Один из них принимает запрос и переотправляет на второй контейнер этой же поды (первый контейнер — nginx с перенаправлением proxy_pass) Для этого deployment описан один service (с использованием аннотации NEG) и ingress, который создаёт external load balancer HealthCheck на backend в LoadBalancer установлен такой же, как и readinessProbe на первом контейнере поды (то есть healthCheck = readinessProbe от Nginx ) Проблема в следущем: Запускается пода и стартуют контейнеры. Первым поднимается nginx (уже в Ready), а второй контейнер находится ещё в NotReady. Соответственно пода ещё не готова, а LB уже отправляет запросы на Nginx. Так как nginx работает в proxy_pass все запросы сваливаются с 500-ми из-за невозможности их обработки на втором контейнере Вот и думал, что если бы K8s service всё это дело перенаправлял куда надо, то на поду, в которой хотя бы один контейнер находится в NotReady трафик бы не приходил. И решил уточнить по поводу NEG + Container Native Load Balancing
Вообще IP pod и так маршрутизируемы в vpc
Обсуждают сегодня