Übersicht über die Traffic Director-Routingregelzuordnungen

In diesem Dokument werden die Routingregelzuordnungen und deren Verwaltung in Traffic Director-Bereitstellungen beschrieben.

Eine Routingregelzuordnung besteht aus folgenden Teilen:

  • Einer Weiterleitungsregel, die auf einen Zielproxy verweist
  • Einem Zielproxy, der auf eine URL-Zuordnung verweist
  • Einer URL-Zuordnung, die verschiedene Routingregeln enthält

Wenn Sie diese Ressourcen für Traffic Director erstellen und konfigurieren, verwendet 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.
  • gRPC-Zielproxy, den Sie konfigurieren, wenn Ihre Clients und Server gRPC-Traffic senden oder empfangen. gRPC-Zielproxys enthalten ein Feld validateForProxyless, das in der Regel auf TRUE gesetzt wird, wenn Sie proxylose gRPC-Dienste bereitstellen.

Traffic-Routing mit Traffic Director

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

  • Die Anfrage wird vom Netzwerk-Stack abgefangen und an Ihren Envoy-Sidecar-Proxy weitergeleitet.
  • 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.

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:///myservice: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- oder HTTP-Zielproxy.
  • Traffic Director ermittelt die URL-Zuordnungen, auf die diese gRPC- 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.

Weitere Informationen