StyleBookの構成パックを別のStyleBookに移行する
NetScaler® Application Delivery Management (ADM)では、構成パックは常に作成元のStyleBookにバインドされます。構成パックへの更新は、その構成パックがバインドされているStyleBookを介してのみ実行できます。NetScaler ADMでは、既存の構成パックを新しいStyleBookに移行できるようになりました。新しいStyleBookは、構成パックにバインドされている現在のStyleBookのより元のバージョンである可能性があります。または、構成パックをまったく異なるStyleBookに移行することもできます。
たとえば、example-lbというStyleBookを作成しました。このStyleBookは、NetScalerインスタンスに基本的なロードバランサー構成を展開するために使用されます。このStyleBookからNetScalerインスタンス上に構成パックCP1を作成しました。その後、StyleBookに監視構成が含まれていないことに気づきました。そこで、example-lb-monというStyleBookを新しく作成しました。このStyleBookは、example-lb StyleBookと同じロードバランサー構成を持っていますが、モニターを構成する機能が追加されています。
これで、構成パックCP1で作成された既存の構成を更新して、モニターを追加したいとします。以前は、構成にモニターを追加するために、構成パックCP1を削除し、新しいStyleBookから構成パックCP2を作成する必要がありました。CP1を削除すると、1つ以上のNetScalerインスタンス上の構成パックCP1で作成されたすべての構成が削除されます。以前は、すべてのパラメーターの値を入力して、新しいStyleBookを介して新しい構成パックを再作成する必要がありました。
代わりに、既存の構成パックCP1を新しいexample-lb-mon StyleBookに移行できるようになりました。新しいStyleBookは、モニターの詳細を構成できます。構成パックが展開されたNetScalerインスタンスには、モニター関連の構成オブジェクトのみが追加されます。これで、モニターの詳細を提供するだけで済みます。変更されていないNetScalerインスタンスに展開された既存の構成は影響を受けません。
構成パックの移行
example-lb StyleBookを使用して作成された構成パックをexample-lb-mon StyleBookに移行するには
-
NetScaler ADMで、Applications \> Configurationsに移動します。Configurationsページには、システムに存在するすべての構成パックが表示されます。
-
以前に作成したexample-lb構成パックを見つけるまでスクロールし、Migrate Configpackをクリックします。
-
Choose target StyleBook for migrationページが開き、NetScaler ADMで利用可能なすべてのStyleBookが一覧表示されます。example-lb-mon StyleBookを見つけるまでスクロールし、Select StyleBookをクリックします。example-lb-monと入力してStyleBookを検索することもできます。
あるStyleBookから別のStyleBookに移行する場合、2つのStyleBookのすべてのパラメーターが同じ構造であるとは限りません。パラメーター構造が類似している場合、以前の値はパラメーターフィールドに自動的に保持されます。新しいStyleBookの一部のパラメーターは新規であるか、構造が変更されている可能性があります。そのような場合は、StyleBookパラメーターの値を手動で入力する必要があります。たとえば、次の画像はexample-lb StyleBookのパラメーターを示しています。
次の画像は、構成パックをexample-lb-mon StyleBookに移行した後のパラメーターを示しています。
この場合、StyleBookが基本的なロードバランサー構成の古い値を保持していることがわかります。ただし、モニターパラメーターの値は手動で入力する必要があります。 -
インスタンスでモニターを作成するために使用される新しいパラメーターの値を入力します。
-
ターゲットインスタンスで、構成を実行するNetScalerインスタンスのIPアドレスをクリックして選択します。必要に応じて複数のターゲットインスタンスを指定することで、複数のNetScalerに構成を展開できることに注意してください。
-
ドライランをクリックします。オブジェクトページには、NetScalerインスタンスから新規作成、変更、または削除されるオブジェクトが表示されます。
-
作成をクリックして、選択したインスタンスの構成を作成または更新します。ターゲットインスタンスが新しい場合、構成パックが作成されます。それ以外の場合は、インスタンスに展開されている既存の構成が更新されます。注更新アイコンをクリックして、最近検出されたNetScalerインスタンスを追加することもできます。これにより、これらのインスタンスはこのウィンドウのインスタンスリストにすぐに表示されます。更新アイコンは現在、NetScaler ADMでのみ利用可能です。
構成パックをStyleBookのあるバージョンから次のバージョンに移行することもできます。この場合も、新しいバージョンに存在する新しい必須パラメーターの値を入力する必要があるかもしれません。構成パックをStyleBookの古いバージョンに移行することもできます。この場合、古いStyleBookに存在しない余分なパラメーターは削除されます。オブジェクトページには、構成から削除されたオブジェクトが表示されます。
移行が成功すると、ConfigPackは新しいStyleBookにバインドされます。
構成パックの名前と構成パックIDは以前と同じであることがわかります。ただし、NetScaler ADMはStyleBook名をexample-lbからexample-lb-monに更新します。
StyleBookを構築する
example-lb StyleBookの全内容は、ご参考までに以下に示します。
name: example-lb
namespace: examples.stylebooks
version: "1.0"
display-name: Basic Load Balancer App
description: This is an example StyleBook that creates a load balancer application
schema-version: "1.0"
import-stylebooks:
-
namespace: com.citrix.adc.stylebooks
prefix: stlb
version: "1.0"
parameters-default-sources:
- stlb::lb
components:
-
name: lb-comp
type: stlb::lb
description: Uses the default lb StyleBook to build the typical lb configuration objects
properties-default-sources:
- $parameters
example-lb-mon StyleBookの全内容は、ご参考までに以下に示します。
name: example-lb-mon
namespace: examples.stylebooks
version: "1.0"
description: This is an example StyleBook that creates a load balancer application with monitors
display-name: Basic Load Balancer App with Monitors
schema-version: "1.0"
import-stylebooks:
-
namespace: netscaler.nitro.config
prefix: ns
version: "10.5"
-
namespace: com.citrix.adc.stylebooks
prefix: stlb
version: "1.0"
-
namespace: com.citrix.adc.commontypes
prefix: cmtypes
version: "1.0"
parameters-default-sources:
- stlb::lb
parameters:
-
name: monitors
label: "List of Monitors"
description: "List of Monitors to monitor Application Servers"
type: cmtypes::monitor[]
substitutions:
mon-name(appname, monname): $appname + "-mon-" + $monname
components:
-
name: lb-comp
type: stlb::lb
description: Uses the default lb StyleBook to build the typical lb configuration objects
properties-default-sources:
- $parameters
-
name: monitors-comp
type: cmtypes::monitor
condition: $parameters.monitors
repeat: $parameters.monitors
repeat-item: mon
repeat-index: ndx
description: Builds a list of NetScaler monitor objects and binds them to the servicegroup of this LB config
properties-default-sources:
- $mon
properties:
monitorname: $substitutions.mon-name($parameters.lb-appname, $mon.monitorname)
components:
-
name: monitor-svcg-binding-comp
condition: $parameters.svc-servers
type: ns::servicegroup_lbmonitor_binding
properties:
servicegroupname: $components.lb-comp.outputs.servicegroup.properties.servicegroupname
monitor_name: $parent.properties.monitorname