Application Delivery Management

API zur Erstellung von Konfigurationen aus StyleBooks verwenden

Nachdem Sie Ihr StyleBook erstellt haben, müssen Sie es in NetScaler® Application Delivery Management (ADM) importieren, um es entweder über NetScaler ADM oder über NetScaler ADM APIs zu verwenden. NetScaler ADM validiert Ihr StyleBook beim Import, und wenn die Validierung erfolgreich ist, erscheint Ihr StyleBook im NetScaler ADM Katalog der StyleBooks und ist bereit für die Erstellung von Konfigurationen.

Sie können nun die StyleBook APIs verwenden, um Konfigurationen basierend auf diesem StyleBook zu erstellen. Sie können jedes Tool, wie das Befehlszeilentool curl oder die Postman Chrome-Browsererweiterung, verwenden, um HTTP-Anfragen an NetScaler ADM zu senden.

Beispiel 1

Betrachten Sie das StyleBook “lb-vserver”, das Sie unter StyleBook zum Erstellen eines virtuellen Lastausgleichsservers erstellt haben. Verwenden Sie die REST-API, um ein Konfigurationspaket aus diesem StyleBook wie folgt zu erstellen:

POST

https://<MAS-DNS-or-IP>/stylebook/nitro/v1/config/stylebooks/com.example.stylebooks/0.1/lb-vserver/configpacks

<!--NeedCopy-->
Content-Type: application/json
Accept: application/json
{
  "configpack":
  {
    "parameters": {
      "name": "lb1",
      "ip": "10.102.117.31"
    },
    "target_devices":
    [
      {
        "id": "deecee30-f478-4446-9741-a85041903410"
      }
    ]
}
}
<!--NeedCopy-->

In dieser HTTP-Anfrage ist die ID (zum Beispiel “deecee30-f478-4446-9741-a85041903410”) die Instanz-ID der NetScaler-Instanz, auf der der virtuelle Lastausgleichsserver lb1 mit der IP-Adresse 10.102.117.31 erstellt wird. Die Instanz-ID der NetScaler-Instanz wird von NetScaler ADM abgerufen.

Um die ID einer von NetScaler ADM verwalteten Instanz zu erhalten, können Sie NetScaler ADM APIs verwenden. Um beispielsweise die Instanz-ID einer NetScaler-Instanz abzurufen, deren IP-Adresse 192.168.153.160 ist, können Sie die folgende API verwenden:

GET https://<MAS-IP>/nitro/v1/config/ns?filter=ip_address:192.168.153.160
<!--NeedCopy-->
Accept: application/json
<!--NeedCopy-->

Die Antwort enthält die ID in der Nutzlast:

200
OK
Content-Type: application/json
{
  "errorcode": 0,
  "message": "Done",
  "operation": "get",
  "resourceType": "ns",
  "username": "nsroot",
  "tenant_name": "Owner",
  "resourceName": "",
  "ns":
  [
    {
    "is_grace": "false",
    "hostname": "",
    "std_bw_config": "0",
    "gateway_deployment": "false",
    …"id": "deecee30-f478-4446-9741-a85041903410",
    ...
   }
 ]
}
<!--NeedCopy-->

Wenn das Konfigurationspaket erfolgreich erstellt wurde, erhalten Sie die folgende HTTP-Antwort:

200 OK
Content-Type: application/json
{
  "configpack":
  {
    "config_id": "1460806080"
  }
}
<!--NeedCopy-->

Sie haben Ihr erstes Konfigurationspaket erstellt, das eindeutig durch die ID 1460806080 identifiziert wird. Sie können diese ID verwenden, um die Konfiguration abzufragen, zu aktualisieren oder zu löschen.

Beispiel 2

Sie können dasselbe StyleBook verwenden, um ein weiteres Konfigurationspaket zu erstellen und es auf denselben oder verschiedenen NetScaler-Instanzen auszuführen. Erstellen Sie in diesem Beispiel eine weitere Konfiguration und geben Sie einen anderen Namen und eine andere IP-Adresse für den virtuellen Server an und legen Sie LEASTCONNECTION als Lastausgleichsmethode fest. Stellen Sie diese Konfiguration auf zwei NetScaler-Instanzen bereit.

Die HTTP-Anfrage lautet wie folgt:

POST

https://<MAS-DNS-or-IP>/stylebook/nitro/v1/config/stylebooks/com.example.stylebooks/0.1/lb-vserver/configpacks
<!--NeedCopy-->
Content-Type: application/json
Accept: application/json
{
  "configpack":
  {
    "parameters":
    {
      "name": "lb2",
      "ip": "10.102.117.32",
      "lb-alg": "LEASTCONNECTION"
    },
    "target_devices"
    [
     {"id": "deecee30-f478-4446-9741-a85041903410"},
     {"id": "debecc60-d589-4557-8632-a74032802412"}
    ]
  }
}
<!--NeedCopy-->

In dieser HTTP-Anfrage wird der virtuelle Lastausgleichsserver lb2 mit der IP-Adresse 10.102.117.32 auf den beiden NetScaler-Instanzen erstellt, die durch die IDs “deecee30-f478-4446-9741-a85041903410” und “debecc60-d589-4557-8632-a74032802412” repräsentiert werden.

Nach erfolgreicher Erstellung des Konfigurationspakets wird die folgende HTTP-Antwort empfangen:

200 OK
Content-Type: application/json
{
   "configpack":
  {
     "config_id": "1657696292"
  }
}
<!--NeedCopy-->

Dieses neue Konfigurationspaket hat eine andere ID: 165769629. Sie können diese Konfiguration mit dieser ID aktualisieren oder entfernen.

Beispiel 3

Betrachten Sie das StyleBook “basic-lb-config”, das Sie unter StyleBook zum Erstellen einer grundlegenden Lastausgleichskonfiguration erstellt haben. Verwenden Sie die REST-API, um ein Konfigurationspaket aus diesem StyleBook wie folgt zu erstellen:

POST

http://<MAS-DNS-or-IP>/stylebook/nitro/v1/config/stylebooks/com.example.stylebooks/0.1/basic-lb-config/configpacks
<!--NeedCopy-->
Content-Type: application/json
Accept: application/json
{
  "configpack":
  {
    "parameters":
    {
      "name": "myapp",
      "ip": "10.70.122.25",
      "svc-servers":
      ["192.168.100.11","192.168.100.12"],
       "svc-port": 8080
    },
    "target_devices":
    [
     {
      "id": "deecee30-f478-4446-9741-a85041903410"
     },
     {
      "id": "debecc60-d589-4557-8632-a74032802412"
     }
    ]
  }
}
<!--NeedCopy-->

In dieser HTTP-Anfrage wird die Lastausgleichskonfiguration auf zwei NetScaler-Instanzen ausgeführt. Sie können sich bei diesen NetScaler-Instanzen anmelden, um zu überprüfen, ob ein virtueller Server und eine Dienstgruppe mit zwei gebundenen Diensten erstellt wurden.

Beispiel 4

Betrachten Sie das zusammengesetzte StyleBook composite-example, das Sie unter Erstellen eines zusammengesetzten StyleBooks erstellt haben. Verwenden Sie die REST-API, um ein Konfigurationspaket aus diesem StyleBook wie folgt zu erstellen:

POST http://<MAS-DNS-or-IP>/stylebook/nitro/v1/config/stylebooks/com.example.stylebooks/0.1/composite-example/configpacks
<!--NeedCopy-->
Content-Type: application/json
Accept: application/json
{
  "configpack":
  {
    "parameters": {
      "name": "myapp",
      "ip": "2.2.2.2",
      "svc-servers": ["10.102.29.52","10.102.29.53"]
    },
    "target_devices":
    [
    {
      "id": "deecee30-f478-4446-9741-a85041903410"
    },
    {
      "id": "debecc60-d589-4557-8632-a74032802412"
    }
    ]
 }
}
<!--NeedCopy-->

In dieser HTTP-Anfrage wird die Konfiguration auf zwei NetScaler-Instanzen erstellt, die durch ihre IDs repräsentiert werden. Wenn Sie sich bei den NetScaler-Instanzen anmelden, können Sie die Konfigurationsobjekte anzeigen, die vom StyleBook “basic-lb-config” erstellt wurden, das in das StyleBook “composite-example” importiert wurde. Sie können auch einen neuen HTTP-Monitor namens “myapp-mon” sehen, der Teil des StyleBooks “composite-example” war.

Nach erfolgreicher Erstellung des Konfigurationspakets wird die folgende HTTP-Antwort empfangen:

200 OK
Content-Type: application/json{
  "configpack": {
    "config_id": "4917276817"
  }
}
<!--NeedCopy-->

Aktualisieren einer Konfiguration

Um diese Konfiguration zu aktualisieren, z. B. durch Hinzufügen eines neuen Backend-Servers mit der IP-Adresse 10.102.29.54 zum virtuellen Lastausgleichsserver myapp, verwenden Sie die API zum Aktualisieren eines Konfigurationspakets wie folgt:

PUT http://<MAS-DNS-or-IP>/stylebook/nitro/v1/config/stylebooks/com.example.stylebooks/0.1/composite-example/configpacks/4917276817
<!--NeedCopy-->
Content-Type: application/json
Accept: application/json
{
  "configpack": {
    "parameters": {
      "name": "myapp",
      "ip": "2.2.2.2",
      "svc-servers": ["10.102.29.52","10.102.29.53","10.102.29.54"]
  },
  "target_devices":
  [
    {
    "id": "deecee30-f478-4446-9741-a85041903410"
    },
  {
    "id": "debecc60-d589-4557-8632-a74032802412"
  }
]
}
}
<!--NeedCopy-->

Nach erfolgreicher Aktualisierung des Konfigurationspakets wird die folgende HTTP-Antwort empfangen:

200 OK
Content-Type: application/json
{
   "configpack": {
     "config-id": "4917276817"
  }
}
<!--NeedCopy-->

Löschen einer Konfiguration

Um diese Konfiguration (von allen NetScaler-Instanzen) zu löschen, können Sie die API zum Löschen eines Konfigurationspakets wie folgt verwenden:

DELETE http://<MAS-DNS-or-IP>/stylebook/nitro/v1/config/stylebooks/com.example.stylebooks/0.1/composite-example/configpacks/4917276817
<!--NeedCopy-->
Accept: application/json
<!--NeedCopy-->

Nach erfolgreicher Löschung des Konfigurationspakets wird die folgende HTTP-Antwort empfangen:

200 OK
Content-Type: application/json
{
   "configpack": {
     "config_id": "4917276817"
  }
}
<!--NeedCopy-->

Sie können sich bei der NetScaler-Instanz anmelden und überprüfen, ob alle Konfigurationsobjekte, die Teil dieses Konfigurationspakets sind, entfernt wurden.

Wenn Sie die Konfiguration von bestimmten NetScaler-Instanzen anstatt von allen entfernen möchten, verwenden Sie den oben beschriebenen Vorgang zum Aktualisieren des Konfigurationspakets und ändern Sie das Attribut “target_devices” in der JSON-Nutzlast, um die spezifischen NetScaler-Instanz-IDs zu entfernen.

API zur Erstellung von Konfigurationen aus StyleBooks verwenden