NetScaler Ingress Controller

Aktivieren Sie die Funktion zur Wiederholung von Anfragen mithilfe von AppQOE für NetScaler Ingress Controller

Wenn eine NetScaler Appliance eine HTTP-Anforderung empfängt und an einen Backend-Server weiterleitet, kann es manchmal zu Verbindungsfehlern mit dem Backend-Server kommen. Sie können die Request-Retry-Funktion auf NetScaler so konfigurieren, dass die Anforderung an den nächsten verfügbaren Server weitergeleitet wird, anstatt das Zurücksetzen an den Client zu senden. Daher spart der Client Roundtrip-Zeit, wenn NetScaler dieselbe Anforderung an den nächsten verfügbaren Dienst initiiert. Weitere Informationen zur Funktion zum erneuten Anfordern von Versuchen finden Sie in der NetScaler-Dokumentation

Jetzt können Sie die Wiederholung von Anfragen auf NetScaler mit dem NetScaler Ingress Controller konfigurieren. Benutzerdefinierte Ressourcendefinitionen (CRDs) sind die primäre Methode zur Konfiguration von Richtlinien in Cloud-nativen Bereitstellungen. Mithilfe der von NetScaler bereitgestellten AppQoE-CRD können Sie Richtlinien für Anforderungswiederholungen auf NetScaler mit dem NetScaler Ingress Controller konfigurieren. Die AppQoE CRD ermöglicht die Kommunikation zwischen dem NetScaler Ingress Controller und NetScaler zur Durchsetzung von AppQoE-Richtlinien.

AppQoE-CRD-Definition

Die AppQoE CRD ist im NetScaler Ingress Controller GitHub-Repo unter appqoe-crd.yaml verfügbar. Die AppQoE-CRD bietet Attribute für die verschiedenen Optionen, die zum Definieren der AppQoE-Richtlinie auf NetScaler erforderlich sind.

Die folgenden Attribute werden in der AppQoE-CRD bereitgestellt:

Attribut Beschreibung
servicenames Gibt die Liste der Kubernetes-Dienste an, auf die Sie die AppQoE-Richtlinien anwenden möchten.
on-reset Gibt an, ob Wiederholungsversuch bei Verbindung gesetzt werden soll (Zurücksetzen)
on-timeout Gibt die Zeit für einen erneuten Versuch in Millisekunden an
number-of-retries Gibt die Anzahl der Wiederholungen an
appqoe-criteria Gibt den Ausdruck zur Auswertung des Datenverkehrs an.
direction Gibt den Bindepunkt zum Binden der AppQoE-Richtlinie an.

Stellen Sie die AppQoE-CRD bereit

Führen Sie die folgenden Schritte aus, um die AppQoE-CRD bereitzustellen:

  1. Laden Sie die AppQoE-CRDherunter.

  2. Stellen Sie die AppQoE-CRD mit dem folgenden Befehl bereit:

    kubectl create -f appqoe-crd.yaml
    

So schreiben Sie eine AppQoE-Richtlinienkonfiguration

Nachdem Sie die von NetScaler bereitgestellte AppQoE-CRD im Kubernetes-Cluster bereitgestellt haben, können Sie die AppQoE-Richtlinienkonfiguration in einer .yaml-Datei definieren. Verwenden Sie in der Datei .yaml im Feld kind appqoepolicy und fügen Sie im Abschnitt specdie AppQoE-CRD-Attribute hinzu, die auf Ihren Anforderungen für die Richtlinienkonfiguration basieren.

Die folgende YAML-Datei wendet die AppQoE-Richtlinie auf die im Feld servicenames aufgeführten Dienste an. Sie müssen die AppQoE-Aktion so konfigurieren, dass sie es bei Timeout erneut versucht, und die Anzahl der Wiederholungsversuche definieren.

  apiVersion: citrix.com/v1
  kind: appqoepolicy
  metadata:
    name: targeturlappqoe
  spec:
    appqoe-policies:
      - servicenames:
          - apache
        appqoe-policy:
          operation-retry:
            onReset: 'YES'
            onTimeout: 33
          number-of-retries: 2
          appqoe-criteria: 'HTTP.REQ.HEADER("User-Agent").CONTAINS("Android")'
          direction: REQUEST

Nachdem Sie die Richtlinienkonfiguration definiert haben, stellen Sie die Datei .yamlmit den folgenden Befehlen bereit:

$ kubectl create -f appqoe-example.yaml

Aktivieren Sie die Funktion zur Wiederholung von Anfragen mithilfe von AppQOE für NetScaler Ingress Controller