StyleBookの設定
ご意見をお寄せいただきありがとうございました

この記事は機械翻訳されています.免責事項

インスタンスロール

StyleBook は、NetScaler インスタンスで以下の構成をサポートしています。

  • 対称構成-構成パックが複数のNetScaler ADC インスタンスに適用され、すべてのインスタンスに展開されている構成が同じ場合。
  • 非対称構成- 構成パックが複数のNetScaler ADC インスタンスに適用され、すべてのインスタンスに展開される構成が異なる場合。たとえば、デフォルトのMicrosoft Skype for Business StyleBookでは、NetScaler インスタンスごとに異なる構成を展開する必要があります。

StyleBooksの「インスタンスロール」機能を使用すると、非対称構成を作成できます。ここでは、構成パック内の各NetScaler ADC インスタンスに異なる役割を割り当てることができます。ロールは、NetScaler インスタンスが受け取る構成パックの構成オブジェクトを決定します。

注意事項:

  • StyleBookのインスタンスロールのセットは、StyleBookの作成時に定義されます。
  • ロールは、構成パックを作成または更新するときに特定のNetScalerインスタンスに割り当てられます。

「ターゲットロール」セクション

「ターゲットロール」は通常、StyleBookの「StyleBook のインポート」セクションの後と「パラメータ」セクションの前に配置されます。StyleBookでサポートされているすべてのロールは、「ターゲットロール」セクションで宣言されています。

次のStyleBookの例では、「ターゲットロール」セクションにAとBの2つのロールが定義されています。

target-roles: - name: A name: B min-targets: 2 max-targets: 5

ロール B には、min-targetsmax-targets 2 つのオプションのサブプロパティも定義されていることがわかります 。

min-targets このStyleBookから構成パックを作成するときに、このロールに割り当てるNetScalerインスタンスの最小必須数を指定します。 max-targetsこのStyleBookから構成パックを作成するときに、このロールに割り当てることができるNetScalerインスタンスの最大数を指定します。

これらのサブプロパティが指定されていない場合、その役割に対して構成できるNetScalerインスタンスの数に制限はありません。min-targets = 0 の場合、ロールに関連する設定はオプションです。min-targets = 1の場合、構成は必須であり、少なくとも1つのNetScalerインスタンスをロール用に構成する必要があります。

ロール「デフォルト」

明示的に定義された役割に加えて、すべてのStyleBookには暗黙の役割があります。この暗黙のロールはデフォルトロールと呼ばれ、StyleBookの他のロールと同様に使用されます。構成パックを作成するときに、NetScalerインスタンスに特定のロールが割り当てられていない場合、インスタンスは暗黙的に「デフォルト」ロールに割り当てられます。その後、インスタンスは「デフォルト」ロールを持つコンポーネントによって生成されたすべての設定オブジェクトを受け取ります。

ロールを持つコンポーネント

StyleBookがサポートできるロール(ロール「デフォルト」を含む)を定義すると、StyleBookのコンポーネントセクションでそのロールを使用できます。特定の役割を果たすNetScalerインスタンスにのみコンポーネントを展開する場合は、次のコンポーネントの例に示すように、コンポーネントの一部としてロール属性を指定できます。

- name: C1 type: ns::lbvserver roles: - A properties: name: lb1 servicetype: HTTP ipv46: 1.1.1.1 port: 80

この例では、コンポーネントはインスタンスに展開されロールAを実行するlbvserverを生成します。コンポーネントのroles属性はlistで、コンポーネントには複数のロールを割り当てることができます。これらのロールはStyleBookのtarget-rolesセクションで宣言されているはずです。

StyleBookのコンポーネントがロール属性を指定していない場合、コンポーネントによって生成された構成オブジェクトは、ロールに関係なく、すべてのNetScaler ADC インスタンスに作成されます。この機能を効果的に使用して、構成パックのすべてのインスタンスに適用できる設定オブジェクトを作成できます。

2つの役割と4つのコンポーネントで構成されるStyleBookを考えてみましょう。

  • コンポーネント C1 にはロール A と B があります。
  • コンポーネント C2 にはロール B があります。
  • コンポーネント C3 にはロールが定義されていません
  • コンポーネント C4 には「デフォルト」というロールがあります

このStyleBookのコンポーネントセクションは次のとおりです。

components: - name: C1 type: ns::lbvserver roles: - A - B properties: name: lb1 servicetype: HTTP ipv46: 1.1.1.1 port: 80 - name: C2 type: ns::lbvserver roles: - B properties: name: lb2 servicetype: HTTP ipv46: 12.12.12.12 port: 80 - name: C3 type: ns::lbvserver properties: name: lb3 servicetype: HTTP ipv46: 13.13.13.13 port: 80 - name: C4 type: ns::lbvserver roles: - default properties: name: lb4 servicetype: HTTP ipv46: 14.14.14.14 port: 80

コンポーネント C3 にはロールが定義されていないため、コンポーネントはロールに関係なくすべてのインスタンスにデプロイされます。一方、コンポーネント C4 には「default」というロールがあります。つまり、明示的なロールが割り当てられていないインスタンスに適用されます。

ここで、このStyleBookを使用して構成パックを作成し、5つのNetScalerインスタンスに展開するとします。次の方法でロールをインスタンスに割り当てることができます。

  • ロール A はインスタンス T1、T2、T3、T4 に割り当てられます
  • ロール B はインスタンス T2、T3、T4 に割り当てられます
  • インスタンス T5 にはロールが割り当てられていません

次の図は、役割の割り当てをまとめたもので、各NetScalerインスタンスが受け取る構成の結果を示しています。

役割の割り当ての概要

このコンポーネントにはroles属性がないため、コンポーネント C3 はロールに関係なくすべてのインスタンスにデプロイされます。

「Dry Run」機能を使用して、以下を表示および確認します:

  • 役割の割り当て
  • 各NetScalerインスタンスで作成された構成オブジェクト

StyleBookを構築する

StyleBookの「デモターゲットロール」の全内容は次のとおりです。

--- name: demo-target-roles namespace: com.example.stylebooks version: "1.2" schema-version: "1.0" import-stylebooks: - namespace: netscaler.nitro.config prefix: ns version: "10.5" parameters: - name: appname type: string required: true key: true target-roles: - name: A - name: B min-targets: 2 max-targets: 5 components: - name: C1 type: ns::lbvserver roles: - A - B properties: name: lb1 servicetype: HTTP ipv46: 1.1.1.1 port: 80 - name: C2 type: ns::lbvserver roles: - B properties: name: lb2 servicetype: HTTP ipv46: 12.12.12.12 port: 80 - name: C3 type: ns::lbvserver properties: name: lb3 servicetype: HTTP ipv46: 13.13.13.13 port: 80 - name: C4 type: ns::lbvserver roles: - default properties: name: lb4 servicetype: HTTP ipv46: 14.14.14.14 port: 80

次の図は、サンプル構成パック用に作成されたオブジェクトを示しています。

構成パック用にNetScalerインスタンスで作成されたオブジェクト

API の使用

REST APIを使用する場合、構成パックを作成または更新するときに、次のように各NetScalerインスタンスの役割を指定できます。[targets] ブロックで、個々のコンポーネントをデプロイする特定のNetScaler ADCインスタンスのUUIDを指定します。

"targets": [ { "id": "<ADC-UUID>", "roles": ["A"] }, ]

参考のために、完全なサンプル REST API が提供されています。

POST/<IP>/stylebook/nitro/v1/config/stylebooks/com.example.stylebooks/1.2/demo-target-roles/configpack

{ "configpack": { "parameters": { "appname": "app1" }, "targets": [ { "id": "f53c35c3-a6bc-4619-b4b4-ad7ab6a94ddb", "roles": ["A"] }, { "id": "c08caa1c-1011-48aa-b8c7-9aed1cd38ed0", "roles": ["A", "B"] }, { "id": "88ac90cb-a5cb-445b-8617-f83d0ef6174e", "roles": ["A", "B"] }, { "id": "bf7b0f74-7a83-4856-86f4-dcc951d3141e", "roles": ["A", "B"] }, { "id": "fa5d97ab-ca29-4adf-b451-06e7a234e3da", "roles": ["default"] } ] } }
このコンテンツの正式なバージョンは英語で提供されています。Cloud Software Groupドキュメントのコンテンツの一部は、お客様の利便性のみを目的として機械翻訳されています。Cloud Software Groupは機械翻訳されたコンテンツを管理していないため、誤り、不正確な情報、不適切な用語が含まれる場合があります。英語の原文から他言語への翻訳について、精度、信頼性、適合性、正確性、またはお使いのCloud Software Group製品またはサービスと機械翻訳されたコンテンツとの整合性に関する保証、該当するライセンス契約書またはサービス利用規約、あるいはCloud Software Groupとのその他すべての契約に基づき提供される保証、および製品またはサービスのドキュメントとの一致に関する保証は、明示的か黙示的かを問わず、かかるドキュメントの機械翻訳された範囲には適用されないものとします。機械翻訳されたコンテンツの使用に起因する損害または問題について、Cloud Software Groupは責任を負わないものとします。
インスタンスロール