Citrix ADC

Konfigurieren eines gewünschten Satzes von Servicegruppenmitgliedern für eine Servicegruppe in einem NITRO API-Aufruf

Es wird Unterstützung hinzugefügt, um eine gewünschte Gruppe von Service-Gruppenmitgliedern für eine Service-Gruppe in einem NITRO API-Aufruf zu konfigurieren. Zur Unterstützung dieser Konfiguration wird eine neue API, die die gewünschte Zustands-API, hinzugefügt. Mit der API für den gewünschten Zustand können Sie:

  • Geben Sie eine Liste von Dienstgruppenmitgliedern in einer einzelnen PUT-Anforderung für die Ressource servicegroupmemberlist_binding an.
  • Geben Sie ihr Gewicht und ihren Status (optional) in dieser PUT-Anforderung an.
  • Effektive Synchronisierung der Appliance-Konfiguration mit Bereitstellungsänderungen um Anwendungsserver.

Die Citrix ADC Appliance vergleicht die angeforderte gewünschte Elementgruppe mit der konfigurierten Elementgruppe. Dann bindet es automatisch die neuen Elemente und entbindet die Elemente, die nicht in der Anforderung vorhanden sind.

Hinweis:

  • Diese Funktion wird nur für Service-Gruppen vom TypAPI.
  • Sie können IP-adressbasierte Dienste nur mit der API für den gewünschten Zustand binden. Domänennamenbasierte Dienste sind nicht zulässig.
  • Zuvor kann nur ein Servicegruppenmitglied in einem NITRO -Aufruf gebunden werden.

Wichtig

Die gewünschte State-API für die ServiceGroup-Mitgliedschaft wird bei der Citrix ADC Clusterbereitstellung unterstützt.

Anwendungsfall: Synchronisieren von Bereitstellungsänderungen mit Citrix ADC Appliance in großen Bereitstellungen, z. B. Kubernetes

在großen和hochdynamischen Bereitstellungen (z。B. Kubernetes) besteht die Herausforderung darin, die Appliance-Konfiguration mit der Geschwindigkeit der Änderungen der Bereitstellungen auf dem neuesten Stand zu halten, um den Anwendungsdatenverkehr genau zu bedienen. In solchen Bereitstellungen sind Controller (Ingress oder E-W Controller) für die Aktualisierung der ADC-Konfiguration verantwortlich. Wann immer Änderungen an der Bereitstellung vorgenommen werden,kube-api serversendet den effektiven Satz von Endpunkten über “Endpunkte-Ereignis” an den Controller. Der Controller verwendet den Read-Delta-Modify-Ansatz, bei dem er Folgendes durchführt:

  • Ruft den aktuell konfigurierten Endpunktsatz (Dienstgruppenmitgliedsatz einer Dienstgruppe) für den Dienst von der ADC-Appliance ab.
  • Vergleicht窝konfigurierten Endpunktsatz麻省民主党Satz im empfangenen Ereignis.
  • Bindet die neuen Endpunkte (Servicegruppenmitglieder) oder entbindet die gelöschten Endpunkte.

Da die Änderungsrate und die Größe der Dienste in dieser Umgebung hoch ist, ist diese Konfigurationsmethode nicht effizient und kann Konfigurationsupdates verzögern.

Die gewünschte Status-API löst das Problem, indem sie die beabsichtigte Mitgliedergruppe für eine Servicegruppe in einer einzigen API akzeptiert und die Konfiguration effektiv aktualisiert.

Erstellen einer Service-Gruppe vom Typ-API mit der CLI

Geben Sie an der Eingabeaufforderung;

add serviceGroup @  [-autoScale ]

Beispiel:

add serviceGroup svg1 HTTP -autoScale API

Sie können die ParameterautoDisablegraceful,autoDisabledelayundautoScaleund konfigurieren, indem Sie den Befehl serviceGroup hinzufügen oder den Befehl serviceGroup festlegen.

add serviceGroup @  [-autoScale ] [-autoDisablegraceful ( YES | NO)] [-autoDisabledelay ] add serviceGroup @  [-autoScale (API |CLOUD | DISABLED| DNS |POLICY)] set serviceGroup ] set serviceGroup 

Beispiel:

add serviceGroup svg1 HTTP autoDisablegraceful YES -autoDisabledelay 100 add serviceGroup svg1 HTTP -autoScale API set serviceGroup svg1 -autoDisablegraceful YES -autoDisabledelay 100 set serviceGroup svg1 -autoScale API

Argumente

autoDisablegraceful

Zeigt ein ordnungsgemäßes Herunterfahren des Dienstes an. Wenn diese Option aktiviert ist, wartet die Appliance darauf, dass alle ausstehenden Verbindungen zu diesem Dienst geschlossen werden, bevor der Dienst gelöscht wird. Für Clients, die bereits eine dauerhafte Sitzung auf dem System haben, werden neue Verbindungen oder Anforderungen weiterhin an diesen Dienst gesendet. Das Dienstmitglied wird nur gelöscht, wenn keine ausstehenden Verbindungen vorhanden sind. Standardwert: NO

autoDisabledelay

Gibt die zulässige Zeit (in Sekunden) für ein ordnungsgemäßes Herunterfahren an. Während dieser Zeit werden neue Verbindungen oder Anforderungen an diesen Dienst für Clients gesendet, die bereits eine dauerhafte Sitzung auf dem System haben. Verbindungen oder Anforderungen von neuen Clients, die keine Persistenzsitzungen auf dem System haben, werden nicht an den Dienst gesendet. Stattdessen werden sie unter anderen verfügbaren Diensten lastausgeglichen. Nach Ablauf der Verzögerungszeit wird das Dienstmitglied gelöscht.

Autoscale-API

Aktiviert die Verwendung der API für den gewünschten Status, um die Elementgruppe an eine beabsichtigte Dienstgruppe zu binden. Sie können die Dienstgruppe von nicht automatisch skalieren auf den Typ “Gewünschte Zustands-API” festlegen, wenn alle angegebenen Bedingungen übereinstimmen.

Der Befehl “ServiceGroup automatisch skalieren festlegen” schlägt möglicherweise fehl, wenn die vorhandenen Elementbindungen eine der folgenden Bedingungen erfüllen:

  • Wenn der an die Dienstgruppe gebundene Server entweder ein Nameserver oder ein domänenbasierter Server ist.
  • Wenn der Name des an die Dienstgruppe gebundenen Servers eine IP-Adresse ist, muss er mit der tatsächlichen Server-IP-Adresse übereinstimmen. Im folgenden Beispiel stimmen der Servername und die Server-IP-Adresse nicht überein.
    • CLI:Server-IP-Adresse Servernamenhinzufügen
    • Beispiel:add server 1.2.3.4 4.3.2.1
  • Wenn der Name des Loopback-Servers einen anderen Wert als 127.0.0.1 oder 0000:0000:0000:0000:0000:0000:0000:0001 hat.
  • Wenn Sie verschiedene Arten von Autoscale (Cloud, API, DNS und Policy) in einem Satz auswählen serviceGroup-Befehl und fügen Sie den Befehl “ServiceGroup” hinzu.

Wichtig:

  • Die Parameter AutoDisableGraceful und AutoDisableDelay sind nur für die Dienstgruppen des Typs “API” und “CLOUD” anwendbar.
  • Wenn die Parameter autoDisablegraceful oder autoDisabledelay nicht konfiguriert sind, werden Dienstmitglieder sofort gelöscht.

Bindung eines Servicegruppenmitglieds ordnungsgemäß aufheben

Wenn sich eines der Dienstgruppenmitglieder nicht in der Liste des gewünschten Zustands befindet, werden diese Mitglieder aufgrund der ParameterkonfigurationautoDisablegracefuloderautoDisabledelayordnungsgemäß ungebunden.

  • Wenn einer dieser Parameter festgelegt ist, wird das Dienstgruppenmitglied ordnungsgemäß ungebunden.
  • Wenn keiner dieser Parameter festgelegt ist, wird das Dienstgruppenmitglied sofort ungebunden.

Hinweis:

  • Dienstgruppenmitglieder, die für “ordnungsgemäß unbind” identifiziert wurden, werden nur angezeigt, wenn der Befehl show service group ausgeführt wird.
  • 您可以在keinen Vorgang (z。b .设置,设置)毛皮das Dienstgruppenmitglied ausführen, das für die ordnungsgemäße Aufheben der Bindung identifiziert wurde.

Die folgende Abbildung zeigt ein Beispiel für den Befehl show service group.

Beispiel: Dienstgruppenbefehl anzeigen

Erstellen einer Service-Gruppe vom Typ-API mit der GUI

  1. Navigieren Sie zuTraffic Management > Load Balancing > Service Groups, und klicken Sie aufHinzufügen.

  2. Wählen Sie fürAutoScale Modedie OptionAPIaus.

Konfigurieren eines ordnungsgemäßen Herunterfahrens oder einer Zeitverzögerung für eine API-Typ-Servicegruppe mit der GUI

  1. Navigieren Sie zuTraffic Management > Load Balancing > Dienstgruppen.

    Grundeinstellungen von Servicegruppen

  2. Wählen Sie fürAutoScale Modedie OptionAPIaus.

  3. Wählen Sie unterAuto Disable Gracefuldie OptionYESaus.

  4. Geben Sie unterAutomatische Deaktivierungsverzögerungdie Wartezeit für ein ordnungsgemäßes Herunterfahren ein.

Hinweis:Die FelderAuto Disable GracefuoderAutomatische Anzeigeverzögerungsind nur aktiviert, wenn Sie fürAutoScale Modedie OptionAPIoderCLOUDauswählen.