Балансировка нагрузки не работает для вызова gRPC в кластере Azure kubernetes с сеткой службы Istio

#kubernetes #load-balancing #grpc #azure-aks #istio

Вопрос:

Балансировка нагрузки не работает для вызова gRPC вместе с вызовом Http в кластере Azure kubernetes с сеткой службы Istio.

Часть конфигурации из DestinationRule

 spec:
  host: hostname
  trafficPolicy:
    loadBalancer:
      consistentHash:
        httpHeaderName: X-UserId
 

У нас есть вызовы Http и gRPC.

Проблема:

Регистрация у какого-либо пользователя с помощью HTTP-вызова, затем ответ поступает от какого-либо экземпляра, затем выполняется какая-либо другая последующая функциональность с вызовом gRPC с тем же зарегистрированным пользователем, но мы получаем ответ от другого экземпляра, даже если мы используем липкую сессию, концепцию липкого сходства при балансировке нагрузки, следовательно, мы теряем пользователя(пользователь недоступен) и получаем ответ от другого/ нового экземпляра.

Ожидаемое поведение:

Предполагается получить ответ от того же экземпляра с зарегистрированным пользователем при балансировке нагрузки.

Может ли кто-нибудь дать мне несколько советов по решению этой проблемы?