Traffic Director-Einschränkungen mit Envoy

In diesem Dokument werden die Einschränkungen für Traffic Director beschrieben, einschließlich Einschränkungen der erweiterten Trafficverwaltung. Informationen zu Limits finden Sie unter Kontingente und Limits.

Allgemeine Beschränkungen

Traffic Director umfasst folgende Einschränkungen:

  • Traffic Director unterstützt nur Google Cloud APIs. Traffic Director unterstützt keine Istio APIs.
  • Mit Traffic Director können Sie die folgenden Anfrageprotokolle konfigurieren: HTTP (HTTP/1.1 oder HTTP/2), HTTPS, TCP und gRPC.
  • Wenn Sie Envoy als Datenplane-Proxy verwenden, wird der Wert stream_idle_timeout standardmäßig auf 5 Minuten festgelegt. Dies kann über Traffic Director nicht konfiguriert werden.
  • Wenn Sie die Ziel-TCP-Proxyressource zum Konfigurieren des TCP-Anfrageprotokolls verwenden, können Sie nicht die erweiterten Features zur Trafficverwaltung verwenden. Die erweiterte Trafficverwaltung ist nur verfügbar, wenn Sie die Datenebene für die Verarbeitung von HTTP- oder gRPC-Anfragen konfigurieren.
  • Traffic Director unterstützt eine freigegebene VPC. Wichtige Hinweise:

    • Bei den Load Balancing-APIs müssen sich eine Weiterleitungsregel und der zugehörige Zielproxy, die URL-Zuordnung, der Back-End-Dienst und das Back-End in einem einzigen Projekt befinden, das ein Host- oder Dienstprojekt sein kann. Wenn Sie mehrere Dienstprojekte haben, kann jedes Dienstprojekt über einen eigenen Satz dieser Ressourcen verfügen.
    • Bei den Load Balancing-APIs wird standardmäßig eine Weiterleitungsregel, die auf ein freigegebenes VPC-Netzwerk verweist, allen Envoy-Proxys in den Host- und Dienstprojekten beworben, die an das Hostprojekt angehängt sind, sofern diese Proxys das freigegebene VPC-Netzwerk in ihren bootstrap/sidecar.env-Dateien angeben. Verwenden Sie den Konfigurationsfilter, um dieses Verhalten anzupassen.
    • Sie können auf Traffic Director nur über die Dienstkonten von Projekten zugreifen, die mindestens eine Weiterleitungsregel mit dem Load-Balancing-Schema INTERNAL_SELF_MANAGED haben, das dem freigegebene VPC-Netzwerk zugeordnet ist.
  • Traffic Director unterstützt VPC-Netzwerk-Peering mit den Service Routing APIs, aber nicht mit den Load Balancing APIs.

  • Traffic Director unterstützt keine Server-First-Protokolle.

  • Sie können Traffic Director nicht mit Diensten verwenden, die in Knative oder serverlosem Google Cloud-Computing ausgeführt werden.

  • In diesem Dokument werden Envoy-Proxys beschrieben. Sie können jedoch einen beliebigen Proxy einer offenen Standard API (xDS) mit Traffic Director verwenden. Google hat Traffic Director jedoch nur mit dem Envoy-Proxy getestet.

  • Wenn Sie mit Traffic Director arbeiten möchten, verwenden Sie Envoy-Version 1.9.1 oder höher.

  • Zur Verwendung eines regulären Ausdrucks verwenden Sie Envoy-Version 1.12.0 oder höher. Envoy-Versionen vor 1.12.0 unterstützen keine regulären Ausdrücke.

  • Damit alle bekannten Sicherheitslücken minimiert werden, sollten Sie die neueste Envoy-Version verwenden. Informationen zu den Sicherheitshinweisen für Envoy finden Sie in den Sicherheitshinweisen für Envoy.

  • Die Google Cloud Console unterstützt keine Netzwerk-Endpunktgruppen (NEGs) mit Hybridkonnektivität. Verwenden Sie zum Erstellen oder Löschen von NEGs mit Hybridkonnektivität die Google Cloud CLI.

  • Da die Datenebene Systemdiagnosen verarbeitet, können Sie den Status der Systemdiagnose nicht über die Google Cloud Console, die API oder die gcloud CLI abrufen.

  • Prüfen Sie, ob iptables korrekt eingerichtet ist. Weitere Informationen zum Konfigurieren von iptables finden Sie in den Hinweisen von Envoy zum Konfigurieren der HTTP-Filterung.

    • Wenn Sie mit der Google Cloud Console VM-Instanzen erstellen, werden einige ipv6-bezogene Module nicht vor einem Neustart installiert und verfügbar gemacht. Daher schlägt iptables.sh aufgrund fehlender Abhängigkeiten fehl. Starten Sie in diesem Fall die VM neu und führen Sie das Skript run.sh noch einmal aus.
    • Wenn Sie die gcloud CLI zum Erstellen von Compute Engine-VMs verwenden, wird dieses Problem nicht erwartet.

Einschränkungen für die erweiterte Trafficverwaltung

Zu den Einschränkungen der erweiterten Trafficverwaltung gehört Folgendes:

  • Wenn der Wert von BackendService.sessionAffinity nicht NONE lautet und für BackendService.localityLbPolicy eine andere Load-Balancing-Richtlinie als MAGLEV oder RING_HASH festgelegt ist, werden die Einstellungen für die Sitzungsaffinität nicht wirksam.
  • Der Befehl gcloud import löscht die Felder der obersten Ebene der Ressource nicht, also z. B. den Back-End-Dienst und die URL-Zuordnung. Wenn beispielsweise ein Back-End-Dienst mit Einstellungen für circuitBreakers erstellt wird, können Sie diese Einstellungen mit einem nachfolgenden Befehl gcloud import aktualisieren. Sie können diese Einstellungen jedoch nicht aus dem Back-End-Dienst löschen. Sie können die Ressource ohne die Einstellungen für circuitBreakers löschen und neu erstellen.
  • Der Import für Weiterleitungsregeln funktioniert nicht ordnungsgemäß. Sie können eine exportierte YAML-Datei nicht noch einmal importieren. Die Problemumgehung besteht darin, die Konfigurationsdatei zu exportieren, Änderungen vorzunehmen, die Weiterleitungsregel zu löschen und die Konfigurationsdatei zu importieren.

Einschränkungen bei Service Directory

  • Service Directory und Traffic Director garantieren keine Erreichbarkeit des Netzwerks für Clients.
  • Ein Backend-Dienst kann nur auf einen der folgenden Werte verweisen:

    • Verwaltete Instanzgruppe oder nicht verwaltete Instanzgruppe
    • Netzwerk-Endpunktgruppe
    • Dienstbindungen
  • Service Directory-Dienste können nur mit globalen Backend-Diensten mit load-balancing-scheme=INTERNAL_SELF_MANAGED verwendet werden.

  • Ein Service Directory-Dienst, auf den von einer Dienstbindung verwiesen wird, kann gelöscht werden. Wenn der zugrunde liegende Service Directory-Dienst, an den der Backend-Dienst angehängt ist, gelöscht wird, können Anwendungen, die Traffic Director verwenden, keinen Traffic an diesen Dienst senden. Daher schlagen Anfragen fehl. Best Practices finden Sie unter Beobachtbarkeit und Fehlerbehebung.

Systemdiagnosen

Wenn Sie einen Service Directory-Dienst an einen Backend-Dienst binden, können Sie keine Systemdiagnose für den Backend-Dienst konfigurieren.

Nächste Schritte