У меня есть одна служба с 10 модулями внутри моего кластера, и она отправляет несколько запросов на главный узел более часа. Я поместил аннотацию в свой входной ресурс, изменив ее с помощью некоторой аннотации, первую аннотацию я использовал только для изменения метода балансировки нагрузки на балансировку нагрузки ewma.
Annotations: nginx.ingress.kubernetes.io/load-balance: ewma
В то время, когда клиент запросил услугу у главного узла, он получил запрос идеально, что означает, что клиент получил разные ответы от разных модулей и от разных узлов агента внутри моего кластера.
но когда я изменил аннотацию на эту аннотацию
nginx.ingress.kubernetes.io/upstream-hash-by: "ewma"
клиент каждый раз получал один и тот же ответ от одного и того же модуля и от одного и того же узла, даже если я запрашиваю услугу 5 раз в секунду в течение более 30 минут. они правильно реализованы? а почему они разные?
пожалуйста, проверьте мое обновление
Привет @rthamrin На основе документы: load-balance используйте метод Peak EWMA для маршрутизации, а upstream-hash-by баланс нагрузки с использованием последовательного хеширования IP или других переменных. Таким образом, это ожидаемое поведение. Вы можете посмотреть эту статью Kubernetes Nginx Ingress: балансировщик нагрузки с согласованным подмножеством хэшей, чтобы получить больше информации. Еще раз укажите ожидаемый результат.
Спасибо чувак! Я прочитаю это. Мои ожидаемые результаты — узлы, получающие одинаковые запросы от клиентов (балансировка нагрузки), в то же время сохраняя ресурсы машины.
Хорошо, а для этой цели, я думаю, вам подойдет только первая аннотация nginx.ingress.kubernetes.io/load-balance: ewma.
Привет @rthamrin Есть новости с твоей стороны?
Вместо этого я использую пик ewma с этой аннотацией nginx.ingress.kubernetes.io/load-balance: ewma.

Это вики-ответ сообщества, опубликованный для лучшей видимости. Не стесняйтесь расширять его.
Первопричина:
Узлы должны получать равные запросы от клиентов (балансировка нагрузки) и при этом экономить ресурсы машины.
В связи с этим необходимо найти лучшее решение между приведенными ниже аннотациями (на основе вопроса):
nginx.ingress.kubernetes.io/load-balance: ewma
и
nginx.ingress.kubernetes.io/upstream-hash-by: ewma
Решение:
Использование аннотации nginx.ingress.kubernetes.io/load-balance: ewma является предпочтительным решением для указанной цели.
На основе документы: load-balance используйте метод Peak EWMA для маршрутизации. В отличие от upstream-hash-by, который балансирует нагрузку с использованием последовательного хеширования IP или других переменных и обеспечивает подключение к одному и тому же модулю.
Дополнительные сведения см. в этой статье Kubernetes Nginx Ingress: балансировщик нагрузки с согласованным подмножеством хэшей.
спасибо, теперь понятно, я понимаю, почему мой клиент получил такой же ответ от тех же модулей.
Можете ли вы улучшить свой вопрос? "клиент получил запрос", "клиент получил тот же ответ" - вы уверены, что это клиент в обоих случаях? «но когда я перейду на эту аннотацию» - это не та же аннотация. Они разные. Пожалуйста, предоставьте все аннотации для первого случая с ожидаемым результатом, затем то же самое для второго случая. Сейчас трудно понять проблему, с которой вы столкнулись.