簡體   English   中英

為什么 kube-dns SRV 條目在 GKE 集群中服務的端口號為 0?

[英]Why do kube-dns SRV entries have 0 for the port number of a service in a GKE cluster?

我在 GKE 中有一個免費試用集群。 在這個集群中,我有一個部署和一個服務。 當我使用 DNS 實用程序在 helper pod 內執行nslookup -type=srv <service_name>時,我得到的條目包含0而不是服務的實際端口號(例如 17000)。 這個問題使我無法繼續前進。 我會很高興你的幫助。

C:\>kubectl exec dnsutils -- nslookup -type=srv my-svc
;; Truncated, retrying in TCP mode.
Server:         10.120.0.10
Address:        10.120.0.10#53

my-svc.my-ns.svc.cluster.local   service = 10 14 0 3133626239396130.my-svc.my-ns.svc.cluster.local.
my-svc.my-ns.svc.cluster.local   service = 10 14 0 6333336363666162.my-svc.my-ns.svc.cluster.local.
my-svc.my-ns.svc.cluster.local   service = 10 14 0 3132373039303465.my-svc.my-ns.svc.cluster.local.
my-svc.my-ns.svc.cluster.local   service = 10 14 0 3838326161363637.my-svc.my-ns.svc.cluster.local.
my-svc.my-ns.svc.cluster.local   service = 10 14 0 3135393163303035.my-svc.my-ns.svc.cluster.local.
my-svc.my-ns.svc.cluster.local   service = 10 14 0 3463343863303565.my-svc.my-ns.svc.cluster.local.
my-svc.my-ns.svc.cluster.local   service = 10 14 0 3436353934633363.my-svc.my-ns.svc.cluster.local.

“運行的第一個命令只會表明存在 SRV 記錄,但實際上不會告訴我們端口。要獲取端口,我們需要使用 _portname._protocol 格式明確查找它。即如果“my-svc”在“my-ns”命名空間中有一個名為“grpc”的端口,您可以運行 kubectl exec dnsutils -- nslookup -type=srv _grpc._tcp.my-svc.my-ns.svc.cluster.local 來獲取端口對於 grpc 服務。參見DNS SRV port lookup fails以及為什么會這樣的解釋。

在服務定義中,可以命名端口,我們可以使用 _my-port-name._tcp.my-svc.my-ns.svc.cluster.local 語法將 my-port-name 替換為該名稱” - @Gari辛格。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM