Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar.

Richten Sie die Komponenten von Istio für das Verkehrsmanagement ein

Rancher-Istio läuft seit Rancher v2.12.0 aus; wenden Sie sich an den SUSE Application Collection Build von Istio für verbesserte Sicherheit (in SUSE Rancher Prime-Abonnements enthalten). Detaillierte Informationen finden Sie in dieser Ankündigung.

Ein zentraler Vorteil des Verkehrsmanagements in Istio ist, dass es dynamisches Anforderungsrouting ermöglicht. Einige gängige Anwendungen für dynamisches Anforderungsrouting sind Canary-Deployments und Blue/Green-Deployments. Die beiden wichtigsten Ressourcen im Istio-Verkehrsmanagement sind virtuelle Dienste und Zielregeln.

  • Virtuelle Dienste fangen den Verkehr ab und leiten ihn an Ihre Kubernetes-Dienste weiter, sodass Sie Prozentsätze des Verkehrs von einer Anfrage auf verschiedene Dienste aufteilen können. Sie können diese verwenden, um eine Reihe von Routingregeln zu definieren, die angewendet werden, wenn ein Host adressiert wird.

  • Zielregeln dienen als die einzige Quelle der Wahrheit darüber, welche Dienstversionen verfügbar sind, um Verkehr von virtuellen Diensten zu empfangen. Sie können diese Ressourcen verwenden, um Richtlinien zu definieren, die auf den Verkehr angewendet werden, der für einen Dienst bestimmt ist, nachdem das Routing erfolgt ist.

Dieser Abschnitt beschreibt, wie man einen Beispiel-virtuellen Dienst hinzufügt, der dem reviews Mikrodienst in der Beispielanwendung BookInfo entspricht. Zweck dieses Dienstes ist es, den Verkehr zwischen zwei Versionen des reviews Dienstes aufzuteilen.

In diesem Beispiel nehmen wir den Verkehr zum reviews Dienst und fangen ihn ab, sodass 50 Prozent davon zu v1 des Dienstes und 50 Prozent zu v2 gehen.

Nachdem dieser virtuelle Dienst bereitgestellt wurde, werden wir Verkehr generieren und aus der Kiali-Visualisierung sehen, dass der Verkehr gleichmäßig zwischen den beiden Versionen des Dienstes geroutet wird.

Um den virtuellen Dienst und die Zielregeln für den reviews Dienst bereitzustellen,

  1. Klicken Sie auf ☰ > Clusterverwaltung.

  2. Gehen Sie zu dem Cluster, in dem Istio installiert ist, und klicken Sie auf Erkunden.

  3. Klicken Sie im Cluster, in dem Istio installiert ist, auf menu:Istio[Zielregeln] in der linken Navigationsleiste.

  4. Klicken Sie auf Erstellen.

  5. Kopieren Sie die unten bereitgestellte DestinationRule-YAML und fügen Sie sie ein.

  6. Klicken Sie auf Erstellen.

  7. Klicken Sie auf Als YAML bearbeiten und verwenden Sie diese Konfiguration:

     apiVersion: networking.istio.io/v1alpha3
     kind: DestinationRule
     metadata:
       name: reviews
     spec:
       host: reviews
       subsets:
       - name: v1
         labels:
           version: v1
       - name: v2
         labels:
           version: v2
       - name: v3
         labels:
           version: v3
  8. Klicken Sie auf Erstellen.

Um den VirtualService bereitzustellen, der das Traffic-Routing nutzt, das die DestinationRule verwendet:

  1. Klicken Sie auf VirtualService in der Seitenleiste.

  2. Klicken Sie auf Erstellen aus YAML.

  3. Kopieren Sie die unten bereitgestellte VirtualService-YAML und fügen Sie sie ein.

  4. Klicken Sie auf Erstellen.

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: reviews
spec:
  hosts:
  - reviews
  http:
  - route:
    - destination:
        host: reviews
        subset: v1
      weight: 50
    - destination:
        host: reviews
        subset: v3
      weight: 50
---

Ergebnis: Wenn Sie Verkehr zu diesem Dienst generieren (zum Beispiel, indem Sie die URL des Ingress Gateway aktualisieren), zeigt das Kiali-Verkehrsdiagramm, dass der Verkehr zum reviews-Dienst gleichmäßig zwischen v1 und v3 aufgeteilt wird.