DNS 名稱解析
本文件適用於搭配 Envoy 和舊版負載平衡 API 的 Cloud Service Mesh,其中包含轉送規則。
本文說明轉送規則的虛擬 IP 位址之間的關係,以及轉送規則如何與服務建立關聯。這份文件也概略說明如何規劃及設定 DNS,以便在 Cloud Service Mesh 服務網格中進行服務對服務通訊。
請參考以下範例,其中有三項服務 (service-a
、service-b
和 service-c
) 會彼此通訊。開發人員通常會在程式碼中使用完整網域名稱,以便服務與服務之間進行通訊。如果您的網域名稱是 example.com,這三項服務可能會以以下方式表示:
service-a.example.com
service-b.example.com
service-c.example.com
設定 Cloud Service Mesh 資源來建立服務網格時,您會為每項服務設定轉送規則。轉送規則代表目的地服務的 IP:Port
組合。如要讓 Envoy 補充 Proxy 攔截輸出流量,目的地 IP 位址必須與轉送規則相關聯的 IP 位址相符。因此,您需要為每項服務佈建 IP 位址。例如:
service-a.example.com
有 IP 位址10.0.0.100
service-b.example.com
有 IP 位址10.0.0.101
service-c.example.com
有 IP 位址10.0.0.102
對應的 Cloud Service Mesh 設定包含三個轉送規則:FR1、FR2 和 FR3,每個規則都使用 80
通訊埠:
- FR1 具有 IP 位址
10.0.0.100:80
,與service-a.example.com
相關聯。 - FR2 具有 IP 位址
10.0.0.101:80
,與service-b.example.com
相關聯。 - FR3 具有 IP 位址
10.0.0.102:80
,與service-c.example.com
相關聯。
當 service-a
使用完整網域名稱 (FQDN) service-b.example.com
叫用 service-b
時,會發生三件事:
service-a
會先針對service-b.example.com
執行 DNS 查詢,解析service-b
的 IP 位址。- 系統會將網域解析為
10.0.0.101
,以便與service-b
轉送規則的設定 IP 位址相符。 - Envoy Proxy 現在可以攔截流量,並將流量轉送至具有
service-b
後端的後端服務,無論是 NEG 還是 MIG 皆可。
您可以設定 Cloud DNS 代管私人區域,以便代管服務的資源記錄。