Citrix Application Delivery Management

将样书的配置包迁移到另一个样书

在 Citrix Application Delivery Management (ADM) 中,配置包始终绑定到从中创建配置包的样书。对配置包的任何更新只能通过配置包绑定到的样书来完成。Citrix ADM 现在允许您将现有配置包迁移到新的样书。新的样书可以是绑定到配置包的当前样书的更原始版本。或者,您也可以将配置包迁移到完全不同的样书中。

例如,您创建了一个名为 exam-lb的样本。此样本用于在 Citrix ADC 实例上部署基本负载平衡器配置。您在 Citrix ADC 实例上通过此样书创建了配置包 CP1。稍后,您意识到样本不包含监视配置。因此,您现在创建了一个名为 例子 lb-mon的样本。此样本具有与 exam-lb 样本相同的负载平衡器配置,但增加了配置监视器的功能。

现在,您想更新在配置包 CP1 中创建的现有配置以添加一些监视器。以前,您必须删除配置包 CP1,然后从新的样书中创建配置包 CP2 才能将监视器添加到配置中。删除 CP1 会导致删除在一个或多个 Citrix ADC 实例上的配置包 CP1 中创建的所有配置。之前,您必须通过为所有参数键入值,通过新的样书重新创建新的配置包。

相反,您现在可以将现有配置包 CP1 迁移到新的示例-lb-mon 样书。您的新样本可以配置显示器监视器的详细信息。只有那些与监视器相关的配置对象才会添加到部署配置包的 Citrix ADC 实例中。您现在只需提供显示器的详细信息。在未更改的 Citrix ADC 实例上部署的现有配置不受影响。

迁移配置包

将使用 example-lb 样书创建的配置包迁移到示例-lb-mon 样书

  1. 在 Citrix ADM 中,导航到 应用程序 > 配置。“ 配置 ” 页面显示系统中存在的所有配置包。

  2. 向下滚动以 查找先前创建的示例磅 配置包,然后单击 迁移 Configpack

    本地化后的图片

  3. 选择要迁移的目标样本 页面将打开,其中列出 Citrix ADM 中可用的所有样本。向下滚动以 查找示例 Lb-mon 样本,然后单击 选择样本 。您也可以通过键入示例 lb-mon 来搜索样本。

    本地化后的图片

    如果从一个样本迁移到另一个样本,则两个样本中的所有参数可能不具有相同的结构。如果参数结构相似,前面的值将自动保留在参数字段中。新样本中的一些参数可能是新的,或者它们的结构可能发生变化。在这种情况下,您必须手动填写样本参数的值。例如,下图显示了示例 lb 样本的参数。

    本地化后的图片

    下图显示了将配置包迁移到 example-lb-mon 样书后的参数。

    本地化后的图片

    在这种情况下,您可以看到样本保留了基本负载平衡器配置的较旧值。但是,您必须手动键入监视器参数的值。

  4. 输入用于在实例上创建监视器的新参数的值。

  5. 目标实例” 下,单击并选择要在其中运行配置的 Citrix ADC 实例的 IP 地址。请注意,您可以根据需要指定任意数量的目标实例,在多个 Citrix ADC 上部署配置。

  6. 单击试运行。“对 页面显示将新创建、修改或从 Citrix ADC 实例中删除的对象。

  7. 单击 创建 可创建或更新所选实例的配置。如果目标实例是新的,则会创建配置包。否则,将更新实例上部署的现有配置。

    注意

    您还可以单击刷新图标以添加最近发现的 Citrix ADC 实例。因此,这些实例可以立即在此窗口中的实例列表中使用。刷新图标当前仅在 Citrix ADM 上可用。

您还可以将配置包从一个版本的样书迁移到下一个版本。在这里,您可能还必须键入新版本中存在的任何新必需参数的值。您还可以将配置包迁移到旧版本的样书。在这种情况下,将删除旧样本中不存在的额外参数。“对 页面显示从配置中删除的任何对象。

成功迁移后,ConfigPack 将绑定到新的样本。

本地化后的图片

您可以看到配置包的名称和配置包 ID 与之前相同。但是 Citrix ADM 将样本名称更新为 样本名称从样本 lb 。

构建您的样本

下面提供了示 例-lb样书的完整内容供您参考:

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-->

例 lb-mon 样本的全部内容如下,供您参考:

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 Citrix ADC 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-->
将样书的配置包迁移到另一个样书