вызов служб внутри сетки в ISTIO работает только с номером порта, связанным с именем службы

#istio

#istio

Вопрос:

Я использую Istio в качестве сервисной сетки в AKS и устанавливаю внедрение sidecar для всех служб внутри сетки. Меня попросили использовать только имена служб (без номеров их портов) для взаимодействия в кластере между службами. У меня есть две службы gRPC: клиентская служба gRPC и служба gRPC (которая была определена для прослушивания порта 5003). Когда я использую следующий адрес от клиента, он отлично работает: «http: //{имя службы}: 5003», но когда я использую следующий адрес: «http://{namesapce}.{имя службы}», я продолжаю получать ошибку 500 и могу передать ее. Согласно тому, что я прочитал, предполагается, что для работы с текстом wstrong без номера порта, но это не так. Может ли кто-нибудь помочь мне решить эту проблему?

Ниже приведены службы gRPC yaml и установленные мной правила шлюза, виртуальной службы и назначения: введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

Комментарии:

1. Я думаю, что адрес должен быть service-name.namespace.svc.cluster.local , не могли бы вы попробовать с этим? 1. Они оба находятся в одном пространстве имен? 2. Не могли бы вы попробовать добавить сетчатый шлюз, как здесь ?

2. Привет, 1) Обе службы принадлежат к пространству имен «clipper» (одному и тому же). 2) Я добавил шлюз (он прикреплен к моему сообщению) Спасибо

3. Кроме того, я попробовал ваше предложение использовать «vice-name.namespace.svc.cluster.local», и я все еще получаю ошибку 500

4. Привет @N.Rotner тебе удалось заставить это работать? Насколько я проверяю, ошибка grpc 500 является внутренней ошибкой сервера. Обычно ошибка сервера. Поэтому я не уверен, связано ли это с istio. gateways.mesh Я имею в виду, что вы можете добавить его в свой шлюз для связи внутри сетки. Взгляните на приведенный ниже код hosts: - reviews.prod.svc.cluster.local - uk.bookinfo.com gateways: - some-config-namespace/my-gateway - mesh # applies to all the sidecars in the mesh .

5. Спасибо, Якуб. Я не понял, какую оболочку я пишу в части «- mesh»?