StyleBook-Konfiguration

Verwenden Sie APIs, um Konfigurationen aus StyleBooks zu erstellen

Nachdem Sie Ihr StyleBook erstellt haben, müssen Sie es entweder mithilfe der NetScaler Console-GUI oder mithilfe der NetScaler Console-APIs importieren. NetScaler Console validiert Ihr StyleBook, wenn Sie es importieren. Wenn die Validierung erfolgreich ist, wird Ihr StyleBook im NetScaler Console-Katalog von StyleBooks angezeigt und kann zum Erstellen von Konfigurationen verwendet werden.

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

Hinweis:

Die StyleBooks-APIs sind mithilfe der OpenAPI-Spezifikation im Developer Portal vollständig dokumentiert.

Beispiel 1

Betrachten Sie das in lb-vserver StyleBook erstellte StyleBook, um einen virtuellen LoadBalancing-Server zu erstellen. Verwenden Sie die folgenden REST-APIs, um aus diesem StyleBook ein Konfigurationspaket zu erstellen:

HTTP METHOD: POST

URL: https://<IP>/stylebook/nitro/v2/config/configpacks

REQUEST-Header:

Content-Type: application/json

Accept: application/json

REQUEST BODY PAYLOAD:

{
  "configpack":
  {
    "parameters": {
      "name": "lb1",
      "vip-ipaddress": "10.102.117.31"
    },
    "targets":
    [
      {
        "instance_id": "deecee30-f478-4446-9741-a85041903410"
      }
    ],
    "stylebook": {
            "name": "lb-vserver",
            "namespace": "com.example.stylebooks",
            "version": "1.0"
        }
  }
}
<!--NeedCopy-->

In dieser HTTP-Anforderung ist die ID, 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 der NetScaler Console abgerufen.

Um die ID einer von NetScaler Console verwalteten Instanz abzurufen, können Sie die NetScaler Console-APIs verwenden. Um beispielsweise die Instanz-ID oder eine NetScaler-Instanz abzurufen, deren IP-Adresse 192.168.153.160 lautet, können Sie die folgende API verwenden:

HTTP METHOD: GET

URL: https://<IP>/nitro/v2/config/ns?filter=ip_address:192.168.153.160

REQUEST HEADERS:

Accept: application/json

Die Antwort hat die ID in der JSON-Nutzlast:

EXPECTED RESPONSE HEADERS (on success):

200 OK

Content-Type: application/json

EXPECTED RESPONSE BODY (on success):

{
  "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 Configuration (Configuration Pack) erfolgreich erstellt wurde, erhalten Sie die folgende HTTP-Antwort:

EXPECTED RESPONSE HEADERS (on success):

202 OK

Content-Type: application/json

EXPECTED RESPONSE BODY (on success):

{
  "job":
  {
    "job_id": "1460806080"
  }
}
<!--NeedCopy-->

Sie haben Ihren ersten Job erstellt, der mithilfe der ID 1460806080 eindeutig identifiziert wird. Mit dieser ID können Sie die Konfiguration abfragen, aktualisieren oder löschen.

Sie können die folgende URL verwenden, um den Jobstatus abzufragen:

https://<IP>/stylebook/nitro/v2/config/jobs/<jobid>

Beispiel 2

Sie können dasselbe StyleBook verwenden, um ein anderes Konfigurations- oder 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. Geben Sie LEASTCONNECTION als Lastausgleichsmethode an. Stellen Sie diese Konfiguration auf zwei NetScaler-Instanzen bereit.

Die HTTP-Anfrage lautet wie folgt:

HTTP METHOD: POST

URL: https://<IP>/stylebook/nitro/v2/config/configpacks

REQUEST HEADERS:

Content-Type: application/json

Accept: application/json

REQUEST BODY PAYLOAD:

{
  "configpack":
  {
    "parameters": {
      "name": "lb1",
      "vip-ipaddress": "10.102.117.31",
      "lb-alg": "LEASTCONNECTION"
    },
    "targets":
    [
      {
        "instance_id": "deecee30-f478-4446-9741-a85041903410"
      },
      {
        "instance_id": "abcdee30-f478-4446-9741-a85041903410"
      }
    ],
    "stylebook": {
            "name": "lb-vserver",
            "namespace": "com.example.stylebooks",
            "version": "1.0"
        }
  }
}
<!--NeedCopy-->

In dieser HTTP-Anforderung wird der virtuelle Lastausgleichsserver lb1 mit der IP-Adresse 10.102.117.31 auf den beiden NetScaler-Instanzen mit den IDs “deecee30-f478-4446-9741-a85041903410” und “abcdee30-f478-4446-9741-a85041903410” erstellt.

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

EXPECTED RESPONSE HEADERS (on success):

202 OK

Content-Type: application/json

EXPECTED RESPONSE BODY (on success):

{
    "job": {
        "job_id": "165769629"
    }
}
<!--NeedCopy-->

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

Beispiel 3

Betrachten Sie das “basic-lb-config” -StyleBook, das Sie in StyleBook erstellt haben, um eine grundlegende Lastausgleichskonfiguration zu erstellen. Verwenden Sie die REST API, um ein Konfigurationspaket aus diesem StyleBook wie folgt zu erstellen:

HTTP METHOD: POST

URL: https://<IP>/stylebook/nitro/v2/config/configpacks

REQUEST HEADERS:

Content-Type: application/json

Accept: application/json

REQUEST BODY PAYLOAD:

{
  "configpack":
  {
    "parameters":
    {
      "name": "myapp",
      "ip": "10.70.122.25",
      "svc-servers": ["192.168.100.11","192.168.100.12"],
       "svc-port": 8080
    },
    "targets":
    [
     {
      "instance_id": "deecee30-f478-4446-9741-a85041903410"
     },
     {
      "instance_id": "abcdefgi-d589-4557-8632-a74032802412"
     }
    ],
    "stylebook": {
            "name": "basic-lb-config",
            "namespace": "com.example.stylebooks",
            "version": "0.1"
        }
  }
}
<!--NeedCopy-->

EXPECTED RESPONSE HEADERS (on success):

202 OK

Content-Type: application/json

EXPECTED RESPONSE BODY (on success):

{
    "job": {
        "job_id": "3628681382"
    }
}
<!--NeedCopy-->

In dieser HTTP-Anforderung wird die Load Balancing-Konfiguration 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 Diensten erstellt werden.

Beispiel 4

Betrachten Sie das zusammengesetzte StyleBook-Composite-Beispiel, das Sie in Composite StyleBook erstellenerstellt haben. Verwenden Sie REST-APIs, um aus diesem StyleBook ein Konfigurationspaket wie folgt zu erstellen:

HTTP METHOD: POST

URL: https://<IP>/stylebook/nitro/v2/config/configpacks

REQUEST HEADERS:

Content-Type: application/json

Accept: application/json

REQUEST BODY PAYLOAD:

{
  "configpack":
  {
    "parameters": {
      "name": "myapp",
      "ip": "2.2.2.2",
      "svc-servers": ["10.102.29.52","10.102.29.53"]
    },
    "targets":
    [
     {
      "id": "deecee30-f478-4446-9741-a85041903410"
     },
     {
      "id": "abcdefgg-d589-4557-8632-a74032802412"
     }
    ],
    "stylebook": {
            "name": "composite-example",
            "namespace": "com.example.stylebooks",
            "version": "0.1"
        }
  }
<!--NeedCopy-->

In dieser HTTP-Anforderung wird die Konfiguration auf zwei NetScaler Instanzen erstellt, die durch ihre IDs dargestellt werden. Wenn Sie sich bei NetScaler-Instanzen anmelden, können Sie die Konfigurationsobjekte anzeigen, die mit dem StyleBook “basic-lb-config” erstellt wurden, das in das StyleBook “composite-example” importiert wurde. Sie können auch einen neuen HTTP-Monitor mit dem Namen sehen myapp-mon, der Teil des StyleBook “Composite-Beispiel” war.

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

EXPECTED RESPONSE HEADERS (on success):

202 OK

Content-Type: application/json

EXPECTED RESPONSE BODY (on success):

{
    "job": {
        "job_id": "3628681382"
    }
}
<!--NeedCopy-->

Aktualisieren einer Konfiguration

Um die Konfiguration zu aktualisieren, können Sie die folgende API verwenden. Hier wird dem virtuellen Lastausgleichserver “myapp” ein Backend-Server mit der IP-Adresse 10.102.29.54 hinzugefügt:

HTTP METHOD: PUT

URL: https://<IP>/stylebook/nitro/v2/config/configpacks/<configpackid>

REQUEST HEADERS:

Content-Type: application/json

Accept: application/json

REQUEST BODY PAYLOAD:

{
  "configpack": {
    "parameters": {
      "name": "myapp",
      "ip": "2.2.2.2",
      "svc-servers": ["10.102.29.52","10.102.29.53","10.102.29.54"]
  },
  "targets":
   [
     {
      "instance_id": "deecee30-f478-4446-9741-a85041903410"
     },
     {
      "instance_id": "abdcedff-d589-4557-8632-a74032802412"
     }
   ]
  }
}
<!--NeedCopy-->

Bei erfolgreichem Update des Konfigurationspakets wird die folgende HTTP-Antwort empfangen:

EXPECTED RESPONSE HEADERS (on success):

202 OK

Content-Type: application/json

EXPECTED RESPONSE BODY (on success):

{
    "job": {
        "job_id": "3628681382"
    }
}
<!--NeedCopy-->

Löschen einer Konfiguration

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

Bei erfolgreichem Löschen des Konfigurationspakets wird die folgende HTTP-Antwort empfangen:

HTTP METHOD: DELETE

URL: https://<DNS-or-IP>//stylebook/nitro/v2/config/configpacks/<configpackid>

REQUEST HEADERS:

Accept: application/json

EXPECTED RESPONSE HEADERS (on success):

202 OK

Content-Type: application/json

EXPECTED RESPONSE PAYLOAD (on success):

{
    "job": {
        "job_id": "3628681382"
    }
}
<!--NeedCopy-->

Melden Sie sich bei der NetScaler-Instanz an und überprüfen Sie, ob alle Konfigurationsobjekte, die Teil dieses Konfigurationspakets sind, entfernt wurden.

Um die Konfiguration aus bestimmten NetScaler-Instanzen statt aus allen Instanzen zu entfernen, verwenden Sie den Vorgang zum Aktualisieren des Konfigurationspakets unter Konfigurationaktualisieren. Ändern Sie das targets Attribut in der JSON-Nutzlast, um die spezifischen NetScaler-Instanz-IDs zu entfernen.

Verwenden Sie APIs, um Konfigurationen aus StyleBooks zu erstellen