Übersicht über Routingregelzuordnungen

In diesem Dokument werden die Routingregelzuordnungen und deren Verwaltung in Traffic Director-Bereitstellungen beschrieben, die die älteren APIs verwenden. Wenn Sie die neuen Dienstrouting-APIs verwenden, die sich in der Vorschau befinden, finden Sie entsprechende Informationen in der Übersicht über die neuen Dienstrouting-APIs.

Eine Routingregelzuordnung besteht aus Folgendem:

Wenn Sie diese Ressourcen für Traffic Director erstellen und konfigurieren, nutzt Traffic Director die Werte zum Erstellen der Konfiguration, die an Ihre Datenebene gesendet wird. Dies umfasst auch xDS-Clients wie Envoy-Proxys und proxylose gRPC-Anwendungen. Die Datenebene verarbeitet dann den Traffic gemäß dieser Konfiguration.

Eine Weiterleitungsregel verweist auf einen Zielproxy und hat eine IP-Adresse und einen Port. Für Traffic Director-Bereitstellungen muss das Load-Balancing-Schema der Weiterleitungsregel auf INTERNAL_SELF_MANAGED gesetzt sein. Der Zielproxy wiederum verweist auf eine URL-Zuordnung. Diese drei Ressourcen bilden zusammen eine Routingregelzuordnung.

Für eine Weiterleitungsregel, die auf einen gRPC-Zielproxy verweist, für den das Feld validateForProxyless auf TRUE gesetzt ist, muss die IP-Adresse auf 0.0.0.0 festgelegt sein. Wenn validateForProxyless auf TRUE gesetzt ist, werden Konfigurationen, die eine andere IP-Adresse als 0.0.0.0 angeben, abgelehnt.

Die Routingregelzuordnung definiert, wie der Traffic von Clients an Server innerhalb eines Service Mesh übertragen wird.

Unterstützte Zielproxytypen

Traffic Director unterstützt folgende Zielproxytypen:

  • HTTP-Zielproxy, den Sie konfigurieren, wenn Ihre Clients und Server HTTP- oder HTTP/2-Traffic senden oder empfangen.
  • HTTPS-Zielproxy, den Sie konfigurieren, wenn Ihre Clients und Server HTTPS-Traffic senden oder empfangen. Dies ist erforderlich, wenn Sie die Dienstsicherheit mit Envoy-Proxys einrichten.
  • TCP-Zielproxy, den Sie konfigurieren, wenn Ihre Clients und Server TCP-Traffic senden oder empfangen.
  • gRPC-Zielproxy, den Sie konfigurieren, wenn Ihre Clients und Server gRPC-Traffic senden oder empfangen. gRPC-Zielproxys enthalten das Feld validateForProxyless, das in der Regel auf TRUE gesetzt wird, wenn Sie proxylose gRPC-Dienste bereitstellen.

Traffic-Routing mit Envoy-Sidecar-Proxys

Wenn Sie Traffic Director mit Envoy-Sidecar-Proxys verwenden, werden Clientanfragen so weitergeleitet:

  • Der Netzwerk-Stack fängt die Anfrage ab und leitet sie an Ihren Envoy-Sidecar-Proxy weiter.
  • Der Envoy-Sidecar-Proxy prüft die IP-Adresse und den Port der Anfrage.
  • Die IP-Adresse und das Port-Paar werden mit der IP-Adresse und dem Port verglichen, die in den Weiterleitungsregeln angegeben sind, für die das Load-Balancing-Schema auf INTERNAL_SELF_MANAGED gesetzt ist.
  • Wird eine Weiterleitungsregel mit einer passenden IP-Adresse und einem übereinstimmenden Port gefunden, prüft Envoy den HTTP- oder gRPC-Zielproxy, auf den die Weiterleitungsregel verweist.
  • Envoy prüft die URL-Zuordnung, auf die der Zielproxy verweist.
  • Envoy leitet die Anfrage gemäß den in der URL-Zuordnung angegebenen Regeln weiter.

Informationen zum Routing von Traffic mit einem Ziel-TCP-Proxy finden Sie unter TCP-Traffic mit Traffic Director weiterleiten.

Traffic-Routing mit proxylosen gRPC-Anwendungen

Dieses Verhalten ist bei proxylosen gRPC-Anwendungen anders. Wenn Sie einen gRPC-Client konfigurieren, geben Sie den Ziel-URI für den Dienst an, den der Client kontaktieren muss. Dieser URI verwendet den Name-Resolver xds und das Format hostname:port, z. B. xds:///example.hostname:8080.

Wenn der proxylose gRPC-Client eine Verbindung zu Traffic Director herstellt, sendet Traffic Director so dem Dienst entsprechende Informationen:

  • Traffic Director sucht nach Weiterleitungsregeln mit dem Load-Balancing-Schema INTERNAL_SELF_MANAGED, deren Port mit dem im Ziel-URI angegebenen Port übereinstimmt.
  • Traffic Director ermittelt für jede dieser Weiterleitungsregeln den gRPC-Zielproxy oder den HTTP-Zielproxy.
  • Traffic Director ermittelt die URL-Zuordnungen, auf die diese gRPC-Zielproxys oder HTTP-Zielproxys verweisen.
  • Traffic Director prüft die Hostregeln in der URL-Zuordnung, die auch das Format hostname[:port] haben, und sucht nach einer Übereinstimmung.
  • Wenn eine Übereinstimmung gefunden wird, gibt Traffic Director Routingregeln und Dienstinformationen an den gRPC-Client zurück.

Werden mehrere Übereinstimmungen gefunden, ist das Verhalten nicht definiert und kann zu unvorhersehbarem Verhalten führen. Dies geschieht im Allgemeinen, wenn die beiden folgenden Bedingungen erfüllt sind:

  • Derselbe Hostname wird für mehrere URL-Zuordnungen verwendet.
  • Mehrere Weiterleitungsregeln mit dem Load-Balancing-Schema INTERNAL_SELF_MANAGED geben denselben Port an.

Aus diesem Grund wird empfohlen, nicht denselben Hostnamen für mehrere URL-Zuordnungen zu verwenden, auf die von Weiterleitungsregeln mit dem demselben Port verwiesen wird.

Nächste Schritte