ADC

Gewünschten Satz von Servicegruppenmitgliedern für eine Servicegruppe in einem NITRO-API-Aufruf konfigurieren

Es wurde Unterstützung hinzugefügt, um einen gewünschten Satz von Dienstgruppenmitgliedern für eine Dienstgruppe in einem NITRO-API-Aufruf zu konfigurieren. Eine neue API, Desired State API, wurde hinzugefügt, um diese Konfiguration zu unterstützen. Mit der API “Desired State” können Sie:

  • Stellen Sie eine Liste der Dienstgruppenmitglieder in einer einzigen PUT-Anforderung auf der Ressource “servicegroup_servicegroupmemberlist_binding” bereit.
  • Geben Sie ihr Gewicht und ihren Zustand (optional) in dieser PUT-Anfrage an.
  • Synchronisieren Sie die Appliance-Konfiguration effektiv mit Bereitstellungsänderungen um Anwendungsserver.

Die NetScaler ADC-Appliance vergleicht die angeforderte gewünschte Elementgruppe mit der konfigurierten Elementgruppe. Dann bindet es automatisch die neuen Mitglieder und entbindet die Mitglieder, die nicht in der Anfrage anwesend sind.

Hinweis:

  • Diese Funktion wird nur für Dienstgruppen des Typs unterstützt API.
  • Sie können nur IP-Adressbasierte Dienste mithilfe der API für den gewünschten Status 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 in der NetScaler ADC Clusterbereitstellung unterstützt.

Anwendungsfall: Synchronisieren Sie Bereitstellungsänderungen mit der NetScaler ADC Appliance in großen Bereitstellungen wie Kubernetes

Bei großen und hochdynamischen Bereitstellungen (z. B. Kubernetes) besteht die Herausforderung darin, die Appliance-Konfiguration mit der Änderungsrate der Bereitstellungen auf dem neuesten Stand zu halten, um den Anwendungsverkehr 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 server sendet 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 die aktuell konfigurierte Endpunktsatz (Dienstgruppenmitgliedergruppe einer Dienstgruppe) für den Dienst von der ADC-Appliance ab.
  • Vergleicht die konfigurierte Endpunktsatz mit der Menge im empfangenen Ereignis.
  • Bindet die neuen Endpunkte (Mitglieder der Dienstgruppe) oder löst 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 <serviceGroupName>@ <serviceType> [-autoScale <autoScale>]

Beispiel:

add serviceGroup svg1 HTTP -autoScale API

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

add serviceGroup <serviceGroupName>@ <serviceType> \[-autoScale <autoScale>] \[-autoDisablegraceful \( YES | NO)] \[-autoDisabledelay <secs>]

add serviceGroup <serviceGroupName>@ <serviceType> \[-autoScale \(API |CLOUD | DISABLED| DNS |POLICY)]

set serviceGroup <serviceGroupName \[-autoDisablegraceful \( YES | NO)] \[-autoDisabledelay <secs>]

set serviceGroup <serviceGroupName \[-autoScale \(API |CLOUD | DISABLED| DNS |POLICY)]

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 sie den Dienst löscht. Für Clients, die bereits eine dauerhafte Sitzung im System haben, werden weiterhin neue Verbindungen oder Anfragen an diesen Dienst gesendet. Das Servicemitglied wird nur gelöscht, wenn keine ausstehenden Verbindungen bestehen. Standardwert: NO

autoDisabledelay

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

Autoscale-API

Ermöglicht die Verwendung der Desired State API zum Binden der Elementgruppe an eine vorgesehene Dienstgruppe. Sie können die Dienstgruppe von Nicht-Autoscale auf Autoscale-Typ der Desired State-API festlegen, wenn alle bereitgestellten Bedingungen übereinstimmen.

Der Befehl set ServiceGroup Autoscale schlägt möglicherweise fehl, wenn die vorhandenen Mitgliederbindungen 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 Loopback-Servername etwas anderes ist als 127.0.0.1 oder 0000:0000:0000:0000:0000:0000:0000:0001.
  • Wenn Sie verschiedene Arten von Autoscale (Cloud, API, DNS und Richtlinie) in einem festgelegten ServiceGroup-Befehl auswählen und den Befehl ServiceGroup hinzufügen.

Wichtig:

  • Die Parameter AutoDisableGraceful und AutoDisableDelay gelten nur für die Dienstgruppen vom Autoscale-Typ “API” und “CLOUD”.
  • Wenn die Parameter AutoDisableGraceful oder AutoDisableDelay nicht konfiguriert sind, werden die Dienstmitglieder sofort gelöscht.

Lösen Sie ein Mitglied der Servicegruppe ordnungsgemäß

Wenn eines der Dienstgruppenmitglieder nicht in der Liste des gewünschten Status enthalten ist, sind diese Mitglieder basierend auf der Parameterkonfiguration autoDisablegraceful oder autoDisabledelay ordnungsgemäß ungebunden.

  • Wenn einer dieser Parameter festgelegt ist, ist das Dienstgruppenmitglied ordnungsgemäß ungebunden.
  • Wenn keiner dieser Parameter festgelegt ist, ist 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.
  • Sie können keinen Vorgang (z. B. Set, Unset) für 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 Dienstgruppe vom Typ API über die GUI

  1. Navigieren Sie zu Traffic Management > Load Balancing > Dienstgruppen, und klicken Sie auf Hinzufügen.

  2. Wählen Sie im AutoScale-Modus die Option API aus.

Konfigurieren des ordnungsgemäßen Herunterfahrens oder einer Zeitverzögerung für eine Dienstgruppe vom Typ API über die GUI

  1. Gehen Sie zu Traffic Management > Load Balancing > Service Groups.

  2. Wählen Sie im AutoScale-Modus die Option API aus.

  3. Wählen Sie in Auto Disable Graceful die Option JA.

  4. Geben Sie im Auto Disable Delaydie Wartezeit für ein ordnungsgemäßes Herunterfahren ein.

Hinweis: Die Felder “Graceful automatisch deaktivieren “ oder “ Verzögerung der automatischen Anzeige “ sind nur aktiviert, wenn Sie im AutoScale-ModusAPIoderCLOUDauswählen.