Citrix ADC Ingress Controller

Aktivieren Sie die Funktion zum erneuten Anfordern mit AppQoE für Citrix Ingress Controller

Wenn eine Citrix ADC 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 Citrix ADC 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 Citrix ADC dieselbe Anforderung an den nächsten verfügbaren Dienst initiiert. Weitere Informationen zur Funktion zum erneuten Anfordern von Versuchen finden Sie in der Citrix ADC-Dokumentation

Jetzt können Sie die Wiederholung von Anforderungen auf Citrix ADC mit Citrix Ingress Controller konfigurieren. Benutzerdefinierte Ressourcendefinitionen (CRDs) sind die primäre Methode zur Konfiguration von Richtlinien in Cloud-nativen Bereitstellungen. Mithilfe der von Citrix bereitgestellten AppQoE-CRD können Sie Richtlinien zur Wiederholung von Anforderungen auf Citrix ADC mit dem Citrix Ingress Controller konfigurieren. Die AppQoE-CRD ermöglicht die Kommunikation zwischen dem Citrix Ingress Controller und Citrix ADC zum Erzwingen von AppQoE-Richtlinien.

AppQoE-CRD-Definition

Die AppQoE-CRD ist im GitHub-Repo des Citrix Ingress Controller unter appqoe-crd.yamlverfügbar. Die AppQoE-CRD bietet Attribute für die verschiedenen Optionen, die zum Definieren der AppQoE-Richtlinie auf Citrix ADC 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 Citrix im Kubernetes-Cluster bereitgestellte AppQoE-CRD bereitgestellt haben, können Sie die AppQoE-Richtlinienkonfiguration in einer Datei .yaml 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 zum erneuten Anfordern mit AppQoE für Citrix Ingress Controller