DNS-Namensauflösung

Dieses Dokument gilt für Cloud Service Mesh mit Envoy und die älteren Load-Balancing-APIs, die Weiterleitungsregeln umfassen.

In diesem Dokument wird die Beziehung zwischen der virtuellen IP-Adresse einer Weiterleitungsregel und der Verknüpfung der Weiterleitungsregel mit einem Dienst erläutert. Außerdem wird beschrieben, wie Sie DNS für eine Dienst-zu-Dienst-Kommunikation in einem Service Mesh von Cloud Service Mesh planen und konfigurieren.

In diesem Beispiel kommunizieren die drei Dienste service-a, service-b und service-c miteinander. Entwickler verwenden in ihrem Code häufig vollständig qualifizierte Domainnamen für die Dienst-zu-Dienst-Kommunikation. Wenn Ihr Domainname "example.com" lautet, können die drei Dienste so dargestellt werden:

  • service-a.example.com
  • service-b.example.com
  • service-c.example.com

Wenn Sie Cloud Service Mesh-Ressourcen zum Erstellen eines Service Mesh konfigurieren, konfigurieren Sie eine Weiterleitungsregel für jeden der Dienste. Eine Weiterleitungsregel stellt das IP:Port-Paar des Zieldienstes dar. Damit der ausgehende Traffic von einem Envoy-Sidecar-Proxy abgefangen wird, muss die Ziel-IP-Adresse mit der IP-Adresse übereinstimmen, die der Weiterleitungsregel zugeordnet ist. Daher müssen Sie für jeden Dienst eine IP-Adresse bereitstellen. Beispiel:

  • service-a.example.com hat die IP-Adresse 10.0.0.100.
  • service-b.example.com hat die IP-Adresse 10.0.0.101.
  • service-c.example.com hat die IP-Adresse 10.0.0.102.

Die entsprechende Cloud Service Mesh-Konfiguration hat drei Weiterleitungsregeln, FR1, FR2 und FR3, die jeweils Port 80 verwenden:

  • FR1 hat die IP-Adresse 10.0.0.100:80, die mit service-a.example.com verknüpft ist.
  • FR2 hat die IP-Adresse 10.0.0.101:80, die mit service-b.example.com verknüpft ist.
  • FR3 hat die IP-Adresse 10.0.0.102:80, die mit service-c.example.com verknüpft ist.

Wenn service-a service-b mit dem voll qualifizierten Domainnamen (FQDN) service-b.example.com aufruft, geschieht Folgendes:

  1. service-a führt zuerst einen DNS-Lookup für service-b.example.com durch, um die IP-Adresse von service-b aufzulösen.
  2. Die Domain wird zu 10.0.0.101 aufgelöst, sodass sie mit der Weiterleitungsregel der konfigurierten IP-Adresse von service-b übereinstimmt.
  3. Der Envoy-Proxy kann jetzt Traffic abfangen und an den Backend-Dienst mit den Backends von service-b weiterleiten, unabhängig davon, ob es sich um NEGs oder MIGs handelt.

Sie können eine von Cloud DNS verwaltete private Zone konfigurieren, um die Ressourceneinträge für Ihre Dienste zu hosten.