GRPC služby uvnitř Kubernetes pracuje, ale nezdaří s GRPC chyba protokolu, když používáme istio

0

Otázka

Mám server na server hovory a používám GRPC (s .net core 5), že To funguje a vyzkoušet v místní.

Po tom, přesunul jsem všechny služby, Kubernetes Pod (Docker Desktop) a také testován prostřednictvím toku (s vykračovat po-volání) a funguje to tam taky.

Teď pro sledování, přidal jsem ISTIO a přidal štítek můj obor názvů "istio-injekce=povoleno" znovu všechny mé lusky a teď jsou s 2 kontejnery uvnitř každého modulu.

Testoval jsem na základní služby (opět naparování) a funguje to. když přijde na testování GRPC volání. Hovor se nedaří od volajícího straně říká

Grpc.Core.RpcException: Stav(StatusCode="není k Dispozici", Detail="upstream chyba připojení nebo odpojení/reset před mailů. reset důvod: chyba protokolu")

Zkontroloval jsem záznamy v GRPC na straně serveru, a nemá žádné ponětí o této výzvě a služba právě běží. pak jsem trochu myslel, že chyba je z volající straně vzhledem k tomu, že není schopen nebo zavolejte GRPC server.

enter image description here

Chybovou zprávu:

Grpc.Core.RpcException: Status(StatusCode="Unavailable", Detail="upstream connect error or disconnect/reset before headers. reset reason: protocol error") 
at Basket.API.GrpcServices.DiscountGrpcService.GetDiscount(String productName) in /src/Services/Basket/Basket.API/GrpcServices/DiscountGrpcService.cs:line 21 
at Basket.API.Controllers.BasketController.UpdateBasket(ShoppingCart basket) in /src/Services/Basket/Basket.API/Controllers/BasketController.cs:line 47 at lambda_method7(Closure , Object ) 
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Obje

Opět jsem se odstranit Istio a testovány, a to je začal opět pracovat (aniž by se cokoliv změnilo) jsem přidal istio zpátky a začalo to znovu selhávají. všechny ostatní služby, které pracují s istio ale není to volání (To je jen GRPC volání mám).

grpc grpc-web istio istio-kiali
2021-11-23 18:00:02
1

Nejlepší odpověď

1

Našel jsem řešení na https://istiobyexample.dev/grpc/ kde to popisuje chybějící položky.

istio doporučuje používat název a verzi označit jako Štítek, ale co je důležitější při práci s GRPC, služba, která vystavuje GRPC musí mít název portu GRPC.

Přidal jsem se, že restartovat službu a začal pracovat podle očekávání. Opět to není něco, co jsem si předsevzal. Všechny zásluhu na odkaz https://istiobyexample.dev/grpc/ a obraz vyslán níže.

enter image description here

2021-11-24 16:09:14

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................