Citrix Application Delivery Management 服务

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

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

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

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

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

迁移配置包

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

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

  2. 向下滚动以找到您之前创建的示 例-lb 配置包,然后单击 迁移配置包

    本地化后的图片

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

    本地化后的图片

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

    本地化后的图片

    下图显示了将配置包迁移到示例 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

例 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

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