Contrôleur d'entrée Citrix ADC

Configurer l’affinité ou la persistance de session sur le Citrix ADC d’entrée

Les paramètres d’affinité ou de persistance de session sur Citrix ADC d’entrée vous permettent de diriger les demandes des clients vers le même serveur sélectionné, quel que soit le serveur virtuel du groupe qui reçoit la demande du client. Lorsque le délai de persistance configuré expire, n’importe quel serveur virtuel du groupe est sélectionné pour les demandes client entrantes.

Si la persistance est configurée, elle remplace les méthodes d’équilibrage de charge une fois le serveur sélectionné. Il conserve les états des connexions sur les serveurs représentés par ce serveur virtuel. Citrix ADC utilise ensuite la méthode d’équilibrage de charge configurée pour la sélection initiale d’un serveur, mais transmet à ce même serveur toutes les demandes ultérieures du même client.

Le type de persistance le plus couramment utilisé est la persistance basée sur les cookies.

Configurer la persistance en fonction des cookies

Lorsque vous activez la persistance basée sur les cookies, Citrix ADC ajoute un cookie HTTP dans le champ d’en-tête Set-Cookie de la réponse HTTP. Le cookie contient des informations sur le service auquel les demandes HTTP doivent être envoyées. Le client enregistre le cookie et l’inclut dans toutes les demandes ultérieures, et l’ADC l’utilise pour sélectionner le service pour ces demandes.

Le Citrix ADC insère le cookie <NSC_XXXX>= <ServiceIP> <ServicePort>.

Où :

  • <<NSC_XXXX> est l’ID du serveur virtuel dérivé du nom du serveur virtuel.
  • <<ServiceIP> est la valeur hexadécimale de l’adresse IP du service.
  • <<ServicePort> est la valeur hexadécimale du port du service.

Citrix ADC chiffre ServiceIP et ServicePort insère un cookie, et les déchiffre lorsqu’il reçoit un cookie.

Par exemple, a.com=ffffffff02091f1045525d5f4f58455e445a4a423660;expires=Fri, 23-Aug-2019 07:01:45.

Vous pouvez configurer le paramètre de persistance sur Citrix ADC d’entrée, à l’aide de l’annotation d’entrée suivante fournie par le Citrix ingress controller :

ingress.citrix.com/lbvserver: '{"apache":{"persistenceType":"COOKIEINSERT", "timeout":"20", "cookiename":"k8s_cookie"}}'

 :

  • timeout spécifie la durée de persistance. Si les cookies de session sont utilisés avec une timeout valeur de 0, aucun délai d’expiration n’est spécifié par Citrix ADC quelle que soit la version du cookie HTTP utilisée. Le cookie de session expire lorsque le navigateur Web est fermé
  • cookiename spécifie le nom du cookie avec un maximum de 32 caractères. S’il n’est pas spécifié, le nom du cookie est généré en interne.
  • persistenceType spécifie ici le type de persistance à utiliser, COOKIEINSERT est utilisé pour la persistance basée sur les cookie. Outre le cookie, d’autres options peuvent également être utilisées ainsi que des arguments appropriés et d’autres paramètres requis.

Les valeurs possibles sont SOURCEIP, SSLSESSION, DESTIP, SRCIPDESTIP, etc.

Persistance de l’adresse IP source

Lorsque la persistance de l’adresse IP source est configurée sur l’entrée Citrix ADC, vous pouvez définir la persistance sur un serveur virtuel d’équilibrage de charge, ce qui crée un caractère collant pour les demandes suivantes du même client.

Voici un exemple d’annotation d’entrée pour configurer la persistance de l’adresse IP source :

ingress.citrix.com/lbvserver: '{"apache":{"persistenceType":"SOURCEIP", "timeout":"10"}}'

Persistance de l’ID de session SSL

Lorsque la persistance de l’ID de session SSL est configurée, l’appliance Citrix ADC utilise l’ID de session SSL, qui fait partie du processus d’établissement de liaison SSL, pour créer une session de persistance avant que la demande initiale ne soit dirigée vers un service. Le serveur virtuel d’équilibrage de charge dirige les demandes suivantes qui ont le même ID de session SSL vers le même service. Ce type de persistance est utilisé pour les services de pont SSL.

Voici un exemple d’annotation d’entrée pour configurer la persistance de l’ID de session SSL :

ingress.citrix.com/lbvserver: '{"apache":{"persistenceType":"SSLSESSION"}}'

Persistance selon l’adresse IP de destination

Dans ce type de persistance, lorsque le Citrix ADC Ingress reçoit une demande d’un nouveau client, il crée une session de persistance basée sur l’adresse IP du service sélectionné par le serveur virtuel (l’adresse IP de destination). Par la suite, il dirige les demandes vers la même adresse IP de destination vers le même service. Ce type de persistance est utilisé avec l’équilibrage de charge de liaison.

Voici un exemple d’annotation d’entrée pour configurer la persistance basée sur l’adresse IP de destination :

ingress.citrix.com/lbvserver: '{"apache":{"persistenceType":"DESTIP"}}'

Persistance basée sur les adresses IP source et destination

Dans ce type de persistance, lorsque l’appliance Citrix ADC reçoit une demande, elle crée une session de persistance basée à la fois sur l’adresse IP du client (l’adresse IP source) et l’adresse IP du service sélectionné par le serveur virtuel (l’adresse IP de destination). Par la suite, il dirige les demandes de la même adresse IP source et vers la même adresse IP de destination vers le même service.

Voici un exemple d’annotation d’entrée pour configurer la persistance basée sur les adresses IP source et de destination :

ingress.citrix.com/lbvserver: '{"apache":{"persistenceType":"SRCIPDESTIP"}}'
Configurer l’affinité ou la persistance de session sur le Citrix ADC d’entrée