在本地,裸機,兩個獨立的“服務”通過 gRPC 連接、客戶端和“后端”成功地相互通信。兩者都使用 gRPC 傳輸實作為 NestJS 應用程式。
當部署在 kubernetes(minikube) 環境中時,我進入Error: 14 UNAVAILABLE: No connection established了客戶端。后端偵聽localhost:50051(埠從 k8 服務公開),前端嘗試連接engine-svc.default.svc.cluster.local:50051,其中第一部分直到點是服務名稱,我已經nslookup確定這是完整的域名。
我嘗試將埠轉發到 gRPC kubernetes 服務,連接的這個“后端”部分作業正常,并且與它的通信作業正常。因此,“前端”部署/pod 是無法建立連接的部分。
Minikube 與 coreDNS 一起打包。我試過除錯它但沒有成功。當“前端”服務嘗試連接時,來自 coreDNS 的日志被標記為NOERROR我讀過的意思是找到了服務;仍然沒有成功。
還有什么問題?我錯過了什么?任何幫助是極大的贊賞。
uj5u.com熱心網友回復:
由于這個答案解決了我的問題。問題是后端正在偵聽localhost:50051這意味著僅本地連接;埠轉發也算一個,所以這就是它起作用的原因。將“監聽”屬性更改0.0.0.0:50051為后端部分解決了該問題;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/474922.html
標籤:Kubernetes 巢穴 grpc 迷你库贝 核心
