Citrix ADC Ingress Controller

Konfigurieren der Sitzungsaffinität oder -persistenz auf dem Ingress Citrix ADC

Sitzungsaffinitäts- oder Persistenzeinstellungen auf dem Ingress Citrix ADC ermöglichen es Ihnen, Clientanforderungen an denselben ausgewählten Server weiterzuleiten, unabhängig davon, welcher virtuelle Server in der Gruppe die Clientanforderung empfängt. Wenn die konfigurierte Zeit für die Persistenz abläuft, wird jeder virtuelle Server in der Gruppe für die eingehenden Clientanforderungen ausgewählt.

Wenn Persistenz konfiguriert ist, überschreibt sie die Lastausgleichsmethoden, sobald der Server ausgewählt wurde. Es verwaltet die Verbindungszustände auf den Servern, die durch diesen virtuellen Server repräsentiert werden. Der Citrix ADC verwendet dann die konfigurierte Lastausgleichsmethode für die anfängliche Auswahl eines Servers, leitet jedoch alle nachfolgenden Anforderungen desselben Clients an denselben Server weiter.

Der am häufigsten verwendete Persistenztyp ist die auf Cookies basierende Persistenz.

Konfigurieren Sie die Persistenz basierend auf Cookies

Wenn Sie die auf Cookies basierende Persistenz aktivieren, fügt der Citrix ADC ein HTTP-Cookie in das Set-Cookie Headerfeld der HTTP-Antwort ein. Das Cookie enthält Informationen über den Dienst, an den die HTTP-Anfragen gesendet werden müssen. Der Kunde speichert das Cookie und schließt es in alle nachfolgenden Anfragen ein, und der ADC verwendet es, um den Dienst für diese Anfragen auszuwählen.

Der Citrix ADC fügt das Cookie ein <NSC_XXXX>= <ServiceIP> <ServicePort>.

Wobei:

  • <<NSC_XXXX> ist die virtuelle Server-ID, die vom Namen des virtuellen Servers abgeleitet wird.
  • <<ServiceIP> ist der Hexadezimalwert der IP-Adresse des Dienstes.
  • <<ServicePort> ist der Hexadezimalwert des Port des Dienstes.

Der Citrix ADC verschlüsselt ServiceIP und ServicePort wenn er ein Cookie einfügt, und entschlüsselt sie, wenn er ein Cookie erhält.

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

Sie können die Persistenzeinstellung für Ingress von Citrix ADC mit der folgenden Ingress-Anmerkung konfigurieren, die vom Citrix Ingress Controller bereitgestellt wird:

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

Wobei gilt:

  • timeout gibt die Dauer der Persistenz an. Wenn Sitzungscookies mit einem timeout-Wert von 0 verwendet werden, wird von Citrix ADC unabhängig von der verwendeten HTTP-Cookie-Version keine Ablaufzeit angegeben. Das Sitzungscookie läuft ab, wenn der Webbrowser geschlossen wird.
  • cookiename gibt den Namen des Cookie mit maximal 32 Zeichen an. Falls nicht angegeben, wird der Cookie-Name intern generiert.
  • persistenceType gibt hier die Art der zu verwendenden Persistenz an, COOKIEINSERT wird für Cookie-basierte Persistenz verwendet. Neben dem Cookie können auch andere Optionen zusammen mit entsprechenden Argumenten und anderen erforderlichen Parametern verwendet werden.

Mögliche Werte sind SOURCEIP, SSLSESSION, DESTIP, SRCIPDESTIP und so weiter.

Persistenz der Quell-IP-Adresse

Wenn die Quell-IP-Persistenz auf dem Ingress Citrix ADC konfiguriert ist, können Sie die Persistenz für einen virtuellen Lastausgleichsserver festlegen, wodurch eine Klebrigkeit für die nachfolgenden Anforderungen desselben Clients entsteht.

Im Folgenden finden Sie ein Beispiel für eine Ingress-Annotation zum Konfigurieren der Beständigkeit von Quell-IP-Adressen:

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

Persistenz der SSL-Sitzungs-ID

Wenn die SSL-Sitzungs-ID-Persistenz konfiguriert ist, verwendet die Citrix ADC Appliance die SSL-Sitzungs-ID, die Teil des SSL-Handshake-Prozesses ist, um eine Persistenzsitzung zu erstellen, bevor die erste Anforderung an einen Dienst weitergeleitet wird. Der virtuelle Lastausgleichsserver leitet nachfolgende Anforderungen mit derselben SSL-Sitzungs-ID an denselben Dienst weiter. Diese Art der Persistenz wird für SSL-Brückendienste verwendet.

Im Folgenden finden Sie ein Beispiel für eine Ingress-Anmerkung zur Konfiguration der SSL-Sitzungs-ID-Beständigkeit:

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

Ziel-IP-Adressbasierte Persistenz

Wenn der Ingress Citrix ADC bei dieser Art von Persistenz eine Anforderung von einem neuen Client erhält, erstellt er eine Persistenzsitzung basierend auf der IP-Adresse des vom virtuellen Server ausgewählten Dienstes (der Ziel-IP-Adresse). Anschließend leitet es Anfragen an dieselbe Ziel-IP an denselben Dienst weiter. Diese Art der Persistenz wird beim Link-Load-Balancing verwendet.

Im Folgenden finden Sie ein Beispiel für eine Ingress-Annotation zum Konfigurieren der IP-Ziel-IP-Adresspersistenz:

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

Quell- und Ziel-IP-Adressbasierte Persistenz

Wenn die Citrix ADC Appliance bei dieser Art von Persistenz eine Anforderung erhält, erstellt sie eine Persistenzsitzung, die sowohl auf der IP-Adresse des Clients (der Quell-IP-Adresse) als auch auf der IP-Adresse des vom virtuellen Server ausgewählten Dienstes (der Ziel-IP-Adresse) basiert. Anschließend leitet es Anfragen von derselben Quell-IP und derselben Ziel-IP an denselben Dienst weiter.

Im Folgenden finden Sie ein Beispiel für eine Ingress-Annotation zum Konfigurieren der Quell- und Ziel-IP-Adresspersistenz:

ingress.citrix.com/lbvserver: '{"apache":{"persistenceType":"SRCIPDESTIP"}}'
Konfigurieren der Sitzungsaffinität oder -persistenz auf dem Ingress Citrix ADC