StyleBook間のconfig packの移行
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は基本的なロードバランサー構成の古い値を保持していることがわかります。ただし、モニターパラメーターの値は手動で入力する必要があります。
-
インスタンスにモニターを作成するために使用される新しいパラメーターの値を入力します。
-
[Target Instances] で、構成を実行するNetScalerインスタンスのIPアドレスをクリックして選択します。必要に応じて複数のターゲットインスタンスを指定することで、複数のNetScalerに構成を展開できることに注意してください。
-
[Dry Run] をクリックします。[Objects] ページには、NetScalerインスタンスで新しく作成、変更、または削除されるオブジェクトが表示されます。
-
[Create] をクリックして、選択したインスタンスの構成を作成または更新します。ターゲットインスタンスが新しい場合はconfig packが作成されます。それ以外の場合は、インスタンスに展開されている既存の構成が更新されます。
注記:
更新アイコンをクリックして、最近検出されたNetScalerインスタンスを追加することもできます。これにより、これらのインスタンスは、このウィンドウのインスタンスリストですぐに利用可能になります。更新アイコンは現在、NetScaler Consoleでのみ利用可能です。
config packをあるバージョンのStyleBookから次のバージョンに移行することもできます。ここでも、新しいバージョンに存在する新しい必須パラメーターの値を入力する必要がある場合があります。config packをStyleBookの古いバージョンに移行することもできます。この場合、古いStyleBookに存在しない余分なパラメーターは削除されます。[Objects] ページには、構成から削除されたオブジェクトが表示されます。
移行が成功すると、ConfigPackは新しいStyleBookにバインドされます。
config packの名前とconfig pack 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
<!--NeedCopy-->
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
<!--NeedCopy-->