StyleBookのconfig packを別のStyleBookに移行する
NetScaler Consoleでは、config packは常に作成元のStyleBookにバインドされます。config packへの更新は、そのconfig packがバインドされているStyleBookを介してのみ実行できます。NetScaler Consoleでは、既存のconfig packを新しいStyleBookに移行できるようになりました。新しいStyleBookは、config packにバインドされている現在のStyleBookのより元のバージョンである可能性があります。または、config packをまったく別のStyleBookに移行することもできます。
たとえば、example-lbというStyleBookを作成しました。このStyleBookは、NetScalerインスタンスに基本的なロードバランサー構成を展開するために使用されます。このStyleBookからNetScalerインスタンス上にconfig pack CP1を作成しました。その後、StyleBookに監視構成が含まれていないことに気づきました。そこで、example-lb-monというStyleBookを新しく作成しました。このStyleBookは、example-lb StyleBookと同じロードバランサー構成を持っていますが、モニターを構成する機能が追加されています。
config pack CP1で作成された既存の構成を更新して、モニターを追加したいとします。以前は、config pack CP1を削除し、新しいStyleBookからconfig pack CP2を作成して、構成にモニターを追加する必要がありました。CP1を削除すると、1つ以上のNetScalerインスタンス上のconfig pack CP1で作成されたすべての構成が削除されます。以前は、すべてのパラメーターの値を入力して、新しいStyleBookを介して新しいconfig packを再作成する必要がありました。
代わりに、既存のconfig pack CP1を新しいexample-lb-mon StyleBookに移行できるようになりました。新しいStyleBookは、モニターの詳細を構成できます。config packが展開されたNetScalerインスタンスには、モニター関連の構成オブジェクトのみが追加されます。これで、モニターの詳細を提供するだけで済みます。変更されていないNetScalerインスタンスに展開された既存の構成は影響を受けません。
config packを移行する
example-lb StyleBookを使用して作成されたconfig packをexample-lb-mon StyleBookに移行するには
-
NetScaler Consoleで、Applications \> Configurationsに移動します。Configurationsページには、システムに存在するすべてのconfig packが表示されます。
-
以前に作成したexample-lb config packを見つけるまでスクロールし、Migrate Configpackをクリックします。
-
Choose target StyleBook for migrationページが開き、NetScaler Consoleで利用可能なすべてのStyleBookが一覧表示されます。example-lb-mon StyleBookを見つけるまでスクロールし、Select StyleBookをクリックします。example-lb-monと入力してStyleBookを検索することもできます。あるStyleBookから別のStyleBookに移行する場合、2つのStyleBookのすべてのパラメーターが同じ構造であるとは限りません。パラメーター構造が類似している場合、以前の値はパラメーターフィールドに自動的に保持されます。新しいStyleBookの一部のパラメーターは新規であるか、その構造が変更されている可能性があります。そのような場合は、StyleBookパラメーターの値を手動で入力する必要があります。たとえば、次の図はexample-lb StyleBookのパラメーターを示しています。
次の図は、config packをexample-lb-mon StyleBookに移行した後のパラメーターを示しています。
この場合、StyleBookが基本的なロードバランサー構成の古い値を保持していることがわかります。しかし、モニターパラメーターの値は手動で入力する必要があります。 -
インスタンスでモニターを作成するために使用される新しいパラメーターの値を入力します。
-
ターゲットインスタンスで、構成を実行するNetScalerインスタンスのIPアドレスをクリックして選択します。必要な数のターゲットインスタンスを指定することで、複数のNetScalerに構成を展開できることに注意してください。
-
ドライランをクリックします。オブジェクトページには、NetScalerインスタンスから新しく作成、変更、または削除されるオブジェクトが表示されます。
-
作成をクリックして、選択したインスタンスの構成を作成または更新します。ターゲットインスタンスが新しい場合、構成パックが作成されます。それ以外の場合は、インスタンスに展開されている既存の構成が更新されます。注:更新アイコンをクリックして、最近検出されたNetScalerインスタンスを追加することもできます。これにより、これらのインスタンスはこのウィンドウのインスタンスリストにすぐに表示されます。更新アイコンは現在、NetScaler Consoleでのみ利用可能です。
構成パックをStyleBookのあるバージョンから次のバージョンに移行することもできます。ここでも、新しいバージョンに存在する新しい必須パラメーターの値を入力する必要がある場合があります。構成パックをStyleBookの古いバージョンに移行することもできます。この場合、古いStyleBookに存在しない余分なパラメーターは削除されます。オブジェクトページには、構成から削除されたオブジェクトが表示されます。
移行が成功すると、ConfigPackは新しいStyleBookにバインドされます。
構成パックの名前と構成パックIDは以前と同じであることがわかります。しかし、NetScaler Consoleは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