Contrôleur d'entrée Citrix ADC

Activer la fonctionnalité de nouvelle tentative de demande à l’aide d’AppQoe pour Citrix ingress controller

Lorsqu’une appliance Citrix ADC reçoit une demande HTTP et la transmet à un serveur principal, il peut parfois y avoir des échecs de connexion avec le serveur principal. Vous pouvez configurer la fonctionnalité de nouvelle tentative de demande sur Citrix ADC pour transférer la demande au prochain serveur disponible, au lieu d’envoyer la réinitialisation au client. Ainsi, le client gagne du temps aller-retour lorsque Citrix ADC lance la même demande vers le prochain service disponible. Pour plus d’informations sur la fonctionnalité de nouvelle tentative de demande, consultez la documentation de Citrix ADC

Vous pouvez désormais configurer la nouvelle tentative de demande sur Citrix ADC avec Citrix ingress controller. Les définitions de ressources personnalisées (CRD) constituent le principal moyen de configurer des stratégies dans les déploiements cloud natifs. À l’aide du CRD AppQoe fourni par Citrix, vous pouvez configurer des stratégies de demande et de nouvelle tentative sur Citrix ADC avec le Citrix ingress controller. Le CRD AppQoe permet la communication entre le Citrix ingress controller et Citrix ADC pour appliquer les stratégies AppQoe.

Définition de la CRD AppQoE

Le CRD AppQoe est disponible dans le dépôt GitHub du Citrix ingress controller à l’adresse : appqoe-crd.yaml. Le CRD AppQoe fournit des attributs pour les différentes options requises pour définir la stratégie AppQoE sur Citrix ADC.

Voici les attributs fournis dans le CRD AppQoe :

Attribut Description
servicenames Spécifie la liste des services Kubernetes auxquels vous souhaitez appliquer les stratégies AppQoE.
on-reset Indique s’il faut définir une nouvelle tentative lors de la réinitialisation de la connexion ou non
on-timeout Spécifie la durée en millisecondes pour une nouvelle tentative
number-of-retries Indique le nombre de nouvelles tentatives
appqoe-criteria Spécifie l’expression permettant d’évaluer le trafic.
direction Spécifie le point de liaison pour la liaison de la stratégie AppQoE.

Déployer le CRD AppQoE

Effectuez les opérations suivantes pour déployer le CRD AppQoe :

  1. Téléchargez le CRD AppQoE.

  2. Déployez le CRD AppQoe à l’aide de la commande suivante :

    kubectl create -f appqoe-crd.yaml
    

Comment écrire une configuration de stratégie AppQoE

Après avoir déployé le CRD AppQoe fourni par Citrix dans le cluster Kubernetes, vous pouvez définir la configuration de la stratégie AppQoe dans un .yaml fichier. Dans le fichier .yaml, utilisez appqoepolicy dans le champ kind et dans la section spec, ajoutez les attributs CRD AppQoe en fonction de vos besoins pour la configuration de la stratégie.

Le fichier YAML suivant applique la stratégie AppQoE aux services répertoriés dans le champ servicenames. Vous devez configurer l’action AppQoE pour réessayer à l’expiration du délai imparti et définir le nombre de nouvelles tentatives.

  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

Après avoir défini la configuration de la stratégie, déployez le fichier .yaml à l’aide des commandes suivantes :

$ kubectl create -f appqoe-example.yaml

Activer la fonctionnalité de nouvelle tentative de demande à l’aide d’AppQoe pour Citrix ingress controller