Configurer l'affinité de session ou la persistance sur le NetScaler Ingress

Dernière publication : Oct 02, 2026
Les paramètres d'affinité de session ou de persistance sur le NetScaler Ingress vous permettent de diriger les requêtes client vers le même serveur sélectionné, quel que soit le serveur virtuel du groupe qui reçoit la requête client. Lorsque le temps de persistance configuré expire, n'importe quel serveur virtuel du groupe est sélectionné pour les requêtes client entrantes.
Si la persistance est configurée, elle annule les méthodes d'équilibrage de charge une fois le serveur sélectionné. Elle maintient les états des connexions sur les serveurs représentés par ce serveur virtuel. Le NetScaler 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 requêtes 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 basée sur les cookies

Lorsque vous activez la persistance basée sur les cookies, le NetScaler 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 requêtes HTTP doivent être envoyées. Le client stocke le cookie et l'inclut dans toutes les requêtes ultérieures, et l'ADC l'utilise pour sélectionner le service pour ces requêtes.
Le NetScaler insère le cookie <NSC_XXXX>= <ServiceIP> <ServicePort>.
Où :
  • <<NSC_XXXX> est l'ID du serveur virtuel qui est 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.
Le NetScaler chiffre ServiceIP et ServicePort lorsqu'il 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 le NetScaler Ingress, en utilisant l'annotation Ingress suivante fournie par le NetScaler Ingress Controller :
ingress.citrix.com/lbvserver: '{"apache":{"persistenceType":"COOKIEINSERT", "timeout":"20", "cookiename":"k8s_cookie"}}'
Où :
  • timeout spécifie la durée de la persistance. Si des cookies de session sont utilisés avec une valeur timeout de 0, aucune date d'expiration n'est spécifiée par NetScaler, 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 cookies. Outre les cookies, d'autres options peuvent également être utilisées avec les 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 le NetScaler Ingress, vous pouvez définir la persistance sur un serveur virtuel d'équilibrage de charge, ce qui crée une affinité pour les requêtes ultérieures provenant du même client.
Voici un exemple d'annotation Ingress 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 NetScaler utilise l'ID de session SSL, qui fait partie du processus de négociation SSL, pour créer une session de persistance avant que la requête initiale ne soit dirigée vers un service. Le serveur virtuel d'équilibrage de charge dirige les requêtes ultérieures 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 Ingress pour configurer la persistance de l'ID de session SSL :
ingress.citrix.com/lbvserver: '{"apache":{"persistenceType":"SSLSESSION"}}'

Persistance basée sur l'adresse IP de destination

Dans ce type de persistance, lorsque le NetScaler Ingress reçoit une requête 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 requêtes 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 liens.
Voici un exemple d'annotation Ingress pour configurer la persistance basée sur l'adresse IP de destination :
ingress.citrix.com/lbvserver: '{"apache":{"persistenceType":"DESTIP"}}'

Persistance basée sur l'adresse IP source et de destination

Dans ce type de persistance, lorsque l'appliance NetScaler reçoit une requête, elle crée une session de persistance basée à la fois sur l'adresse IP du client (l'adresse IP source) et sur l'adresse IP du service sélectionné par le serveur virtuel (l'adresse IP de destination). Par la suite, elle dirige les requêtes provenant 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 Ingress pour configurer la persistance basée sur l'adresse IP source et de destination :
ingress.citrix.com/lbvserver: '{"apache":{"persistenceType":"SRCIPDESTIP"}}'