この記事は機械翻訳されています.免責事項
APIを使用してStyleBookから設定を作成する
StyleBookを作成したら、NetScaler ADM またはNetScaler ADM APIを使用して使用するには、それをNetScaler Application Delivery Management (ADM)にインポートする必要があります。NetScaler ADM はインポート時にStyleBookを検証し、検証が成功すると、StyleBookのNetScaler ADMカタログにStyleBookが表示され、構成の作成に使用できます。
StyleBook APIを使用して、このStyleBookに基づいて構成を作成できるようになりました。curlコマンドラインツールやPostman Chromeブラウザ拡張機能などの任意のツールを使用して、NetScaler ADMにHTTPリクエストを送信できます。
例1
負荷分散仮想サーバーを作成するために、StyleBookで作成した「lb-vserver」StyleBookについて考えてみます。REST APIを使用して、このStyleBookから次のように構成パックを作成します。
POST https://<MAS-DNS-or-IP>/stylebook/nitro/v1/config/stylebooks/com.example.stylebooks/0.1/lb-vserver/configpacks
Content-Type: application/json Accept: application/json { "configpack": { "parameters": { "name": "lb1", "ip": "10.102.117.31" }, "target_devices": [ { "id": "deecee30-f478-4446-9741-a85041903410" } ] } }
このHTTPリクエストでは、ID(例:”deecee30-f478-4446-9741-a85041903410”)は、負荷分散仮想サーバー lb1 がIPアドレス10.102.117.31が作成されるNetScaler ADC インスタンスのインスタンスIDです。NetScaler インスタンスのインスタンス ID は NetScaler ADM から取得されます。
NetScaler ADM によって管理されるインスタンスのIDを取得するには、NetScaler ADM APIを使用します。たとえば、IPアドレスが192.168.153.160であるNetScalerインスタンスのインスタンスIDを取得する場合、次のAPIを使用します。
GET https://<MAS-IP>/nitro/v1/config/ns?filter=ip_address:192.168.153.160
Accept: application/json
応答ではペイロード内にIDが含まれています。
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", ... } ] }
構成パックが正常に作成されると、次の HTTP 応答を受け取ります。
200 OK Content-Type: application/json { "configpack": { "config_id": "1460806080" } }
これで、ID 1460806080 を使用して一意に識別される最初の構成パックが作成されました。このIDを使用して、構成のクエリ、更新、削除を行えます。
例2
同じStyleBookを使用して別の構成パックを作成し、同じまたは異なるNetScalerインスタンスで実行できます。この例では、別の構成を作成し、仮想サーバーに異なる名前とIPアドレスを指定します。また、負荷分散の方法としてLEASTCONNECTIONを指定します。この構成を 2 つの NetScaler インスタンスにデプロイします。
HTTP要求は次のとおりです。
POST https://<MAS-DNS-or-IP>/stylebook/nitro/v1/config/stylebooks/com.example.stylebooks/0.1/lb-vserver/configpacks
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"} ] } }
このHTTPリクエストでは、IPアドレス10.102.117.32の負荷分散仮想サーバーlb2が、ids “deecee30-f478-4446-9741-a85041903410”と”debecc60-d589-4557-8632-a74032802412”で表される2つのNetScaler ADC インスタンスに作成されます。
構成パックが正常に作成されると、次のHTTP応答を受信します。
200 OK Content-Type: application/json { "configpack": { "config_id": "1657696292" } }
新しい構成パックのIDは先ほどとは異なる165769629です。このIDを使用することで、この構成を更新または削除できます。
例3
「基本的な負荷分散の構成を作成するためのStyleBook」で作成した「basic-lb-config」StyleBookを参考にします。REST APIを使用して、このStyleBookから次のように構成パックを作成します。
POST http://<MAS-DNS-or-IP>/stylebook/nitro/v1/config/stylebooks/com.example.stylebooks/0.1/basic-lb-config/configpacks
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" } ] } }
このHTTPリクエストでは、2つのNetScaler ADC インスタンスで負荷分散構成が実行されます。これらのNetScaler ADC インスタンスにログオンして、仮想サーバーと2つのサービスがバインドされたサービスグループが作成されているかどうかを確認できます。
例4
「複合StyleBookの作成」で作成した複合StyleBookのcomposite-exampleを参考にします。REST APIを使用して、このStyleBookから次のように構成パックを作成します。
POST http://<MAS-DNS-or-IP>/stylebook/nitro/v1/config/stylebooks/com.example.stylebooks/0.1/composite-example/configpacks
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" } ] } }
このHTTPリクエストでは、構成はIDで表される2つのNetScaler ADC インスタンスに作成されます。NetScaler インスタンスにログオンすると、「複合例」StyleBook にインポートされた「basic-lb-config」StyleBook で作成された構成オブジェクトを表示できます。また、「composite-example」StyleBookの一部だった「myapp-mon」という新しいHTTPモニターも表示されます。
構成パックが正常に作成されると、次のHTTP応答を受信します。
200 OK Content-Type: application/json{ "configpack": { "config_id": "4917276817" } }
構成の更新
この構成を更新するには(たとえば、IPアドレスが10.102.29.54の新しいバックエンドサーバーを負荷分散仮想サーバーmyappに追加するなど)、構成パックを更新するためのAPIを次のように使用します。
PUT http://<MAS-DNS-or-IP>/stylebook/nitro/v1/config/stylebooks/com.example.stylebooks/0.1/composite-example/configpacks/4917276817
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" } ] } }
構成パックが正常に更新されると、次のHTTP応答を受信します。
200 OK Content-Type: application/json { "configpack": { "config-id": "4917276817" } }
構成の削除
この構成を削除するには(すべてのNetScalerインスタンスから)、構成パックを削除するためのAPIを次のように使用します。
DELETE http://<MAS-DNS-or-IP>/stylebook/nitro/v1/config/stylebooks/com.example.stylebooks/0.1/composite-example/configpacks/4917276817
Accept: application/json
構成パックが正常に削除されると、次のHTTP応答を受信します。
200 OK Content-Type: application/json { "configpack": { "config_id": "4917276817" } }
NetScalerインスタンスにログオンすると、この構成パックに含まれるすべての構成オブジェクトが削除されていることを確認できます。
すべてではなく特定のNetScalerインスタンスから構成を削除する場合は、上記の構成パックの更新操作を使用し、JSONペイロードの「target_devices」属性を変更して特定のNetScalerインスタンスIDを削除します。