创建和编辑配置包
在 NetScaler® Application Delivery Management (ADM) 中,您可以从 StyleBook 创建配置包。配置包与其创建所用的 StyleBook 关联。配置包的更新通过其关联的 StyleBook 进行。
创建配置包
要从 StyleBook 创建配置包,请执行以下操作:
-
导航到“应用程序”>“StyleBooks”>“配置”。
-
单击“添加”。
-
在“选择 StyleBook”中,选择要从中创建配置包的所需 StyleBook。
此页面将 StyleBook 分为默认 StyleBook 和自定义 StyleBook。选择相应的选项卡以查找所需的 StyleBook。
-
指定所需详细信息,例如应用程序名称、IP 地址、端口或协议类型。
GUI 字段因 StyleBook 而异。
-
在“目标实例”中,选择要运行配置的实例或实例组。
注意
您可以通过指定所需数量的目标实例,将配置部署到一个或多个 NetScaler 上。
-
单击“试运行”。
“对象”页面显示从 NetScaler 实例创建、修改或删除的对象。
-
单击“创建”
配置包将显示在“StyleBook”>“配置”页面中。
如果要编辑现有配置包,请选择配置包,然后单击“编辑”。
更改配置包的 StyleBook
有时,您需要更新 StyleBook 以添加功能或修复问题。如果您已使用旧 StyleBook 创建了配置包,则可能需要更新它们以使用新的更新 StyleBook。要使用新的 StyleBook,请更改配置包的现有 StyleBook。
考虑一个示例 StyleBook example-lb,它在 ADC 实例上部署基本负载平衡器配置。然后,您从此 StyleBook 创建配置包 CP1。
当您想要使用基本负载平衡器配置来配置监视器时,您需要一个新的 StyleBook。因此,请创建 example-lb-mon StyleBook,其中包含配置监视器以及基本负载平衡器配置的功能。
创建 StyleBook 后,更新现有配置包 CP1 以添加一些监视器。为此,请执行以下操作:
-
导航到“应用程序”>“StyleBooks”>“配置”。
-
选择要更改其 StyleBook 的配置包。
在此示例中,从列表中选择 CP1。
-
单击“更改 StyleBook”。
-
从列表中选择所需的 StyleBook。然后,单击“保存选择”。
-
单击“更改”。
在此示例中,从列表中选择 example-lb-mon。
当您更改配置包的 StyleBook 时,新 StyleBook 中的参数结构可能与现有 StyleBook 不同。如果参数结构与以前的 StyleBook 相似,则参数值将自动保留在其各自的字段中。否则,仅传输两个 StyleBook 之间具有相同结构的参数。例如,相同的参数名称、类型、参数父级等。

如果在新的 StyleBook 中添加了新的必需参数,则在更改 StyleBook 后,您必须手动指定这些参数的值。
在此示例中,example-lb StyleBook 的配置页面上显示的参数如下:

新 example-lb-mon StyleBook 的配置页面上显示的参数如下:

在这种情况下,StyleBook 会保留基本负载平衡器配置的旧值,因为新的 StyleBook 未更改现有参数。并且,它仅添加了新参数。对于监视器参数,请手动指定所需值。
-
在“目标实例”中,查看所选实例并在必要时更新列表。
-
单击“试运行”。
“对象”页面显示从 NetScaler 实例创建、修改或删除的对象。
-
单击“确定”。
在“StyleBook”>“配置”页面中,“StyleBook 名称”列显示所选配置包的新 StyleBook 名称。在此示例中,它显示 example-lb-mon。
更改具有多个配置包的 StyleBook
当您更改具有多个配置包的现有 StyleBook 时,请执行以下操作:
-
将新的 StyleBook 导入到 ADM。
通常,新的 StyleBook 具有与现有 StyleBook 相同的名称和命名空间,但版本更高。但是,如果名称、命名空间或版本不同,则可以跳过此步骤。
-
更改与现有 StyleBook 关联的配置包的 StyleBook。
仅当所选配置包与同一 StyleBook 关联时,才能选择“更改 StyleBook”。

对于所选配置包,当满足以下条件时,ADM 会成功更改 StyleBook:
-
现有 StyleBook 的所有配置参数都必须存在于所选 StyleBook 中。
-
所选 StyleBook 中的新参数是可选的。
要查看所选配置包的进度,请在“配置”页面中选择“正在进行/失败的配置”。

-
-
一旦所有配置包都绑定到新的 StyleBook,就从 ADM 中删除旧的 StyleBook。
导出或导入配置包
您可以像 StyleBook 一样导出或导入配置包。借助此功能,您可以轻松地将 StyleBook 配置共享到另一个 ADM 服务器。当您导出配置包时,tgz 或 zip 捆绑包会下载到您的本地计算机。此捆绑包包含一个 JSON 文件,其中包含配置包中定义的所有参数。
导出配置
要导出配置包,请执行以下操作:
-
导航到“应用程序”>“StyleBooks”>“配置”。
-
选择要导出的配置包。
-
在“选择操作”中,选择“导出配置”。

-
在“导出配置”窗格中,指定以下内容:
-
部署配置的目标实例信息:选择此选项可将目标实例信息包含在导出捆绑包中。
-
与配置关联的 StyleBook:选择此选项可将 StyleBook 包含在导出捆绑包中。
-
用于保护导出配置数据的密码:指定密码以加密导出捆绑包。此密码可保护配置包的敏感数据。
-
压缩文件类型:选择 ZIP 或 TGZ 文件类型。

-
-
单击“导出”。
将导出捆绑包保存到本地计算机上。
导入配置
您可以将配置包从本地计算机导入到其他 ADM 服务器。要导入配置包,请执行以下操作:
-
导航到“应用程序”>“StyleBooks”>“配置”。
-
选择“导入配置”。

-
从计算机中选择导入文件捆绑包。
-
使用您在导出期间指定的密码。
-
可选,在“高级选项”中,选择“仅当所有配置对象已存在于 ADC 上时才允许创建新配置”。
此选项不会更改已在 ADC 实例上创建的对象。
假设您在两个 ADM 服务器中添加了相同的 ADC 实例。并且,您想要将配置包从一个 ADM 服务器迁移到另一个服务器。使用此选项导入配置包,而无需更改其在 ADC 实例上的配置对象。
重要
要使用此选项,请确保指定的配置捆绑包包含目标实例信息。请参阅“导出配置”。
仅当所有对象都存在于目标实例上时,此选项才会迁移配置。
-
单击“导入”。

当您导入配置包时,ADM 会验证以下内容:
-
关联的 StyleBook:如果关联的 StyleBook 不在 ADM 中,它会随配置包一起导入 StyleBook。
-
目标实例:检查目标实例并将配置部署到指定的目标实例上。如果 ADM 中不存在提及的 ADC 实例,则导入配置包时不会包含目标实例。
-
源 ADM:如果您在同一 ADM 服务器上导入配置包,则所选捆绑包会更新现有配置包。
从配置包中分离目标实例
要从配置包中分离目标实例,请执行以下操作:
-
导航到“应用程序”>“配置”>“配置包”。
-
选择包含要删除的目标实例的配置包。
-
在“选择操作”中,选择“分离目标”。
-
在“分离目标”窗格中,选择要从配置包中删除的目标实例。

-
单击“确定”。
将显示一条消息,确认已创建删除了目标实例的重复配置包。
构建您的 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-->