Application Delivery Management

这篇文章已经过机器翻译.放弃

使用 NetScaler 实例作为数据源

您可以使用托管 ADC 实例作为数据源。 managed-adc 是一种内置数据源类型,可以很容易地用作 ADM 中的数据源。默认情况下,ADM 中的每个托管 ADC 实例都是数据源。如果您在创建配置包时需要来自 ADM 管理的现有 ADC 的数据,则可以在样书中开始使用这些数据源。

在样书定义中,指定 datum 内置类型参数。因此,您可以在样书中使用数据源类型。样书用户可以选择一个可用于从该源检索数据的数据源。

在不收集的情况下使用内置数据源

parameters: - name: selected-adc label: Select an existing lbvserver type: datum required: true data-source: type: managed-adc

在示例中,datum 参数用于选择由 ADM 管理的任何 ADC 实例。managed-adc 内置数据源允许您从 NetScaler ADM 管理的任何 ADC 实例中检索数据。

在样书中,您可以从选定的 ADC 实例访问任何配置。而且,您可以在同一 ADC 或不同 ADC 实例上创建或更新配置时使用该配置;这取决于所选的目标 ADC 实例。

从数据源中选择集合

在选定的 ADC 实例中,要访问集合,请使用以下表达式:

$parameters.selected-adc.collections.<collection-name>

示例:

$parameters.selected-adc.collections.lbvserver

此表达式返回所选 ADC 实例上的 lbvserver 列表。例如,您可以遍历此列表以选择满足特定条件的特定 lbvserver

不带收藏夹的样书示例

name: add-vservers-from-managed-adc-instances namespace: com.citrix.adc.stylebooks version: "1.0" schema-version: "1.0" import-stylebooks: - namespace: netscaler.nitro.config prefix: ns version: "10.5" parameters: - name: selected-adc label: Select a custom datasource environment type: datum required: true data-source: type: "managed-adc" components: - name: sslvserver-comp type: ns::sslvserver repeat: $parameters.selected-adc.collections.lbvserver repeat-item: lbvs repeat-condition: $lbvs.attributes.servicetype == "SSL" properties: name: $lbvs.attributes.name ssl2: DISABLED ssl3: DISABLED tls1: DISABLED tls11: ENABLED tls12: ENABLED

配置包 GUI 显示由 ADM 管理的 ADC 实例,样书用户可以在创建或更新配置包时选择任何 ADC。

内置 ADC 数据源,无需收集

本样书通过迭代所有 lbvserver 来使用选定的 ADC。它选择 SSL 虚拟服务器并在每个虚拟服务器上设置允许的版本。

以下表达式允许您遍历 ADC 实例中的 lbvserver 列表。

repeat: $parameters.selected-adc.collections.lbvserver
  • collections:指 ADC 实例上的实体类型。

  • lbvserver:指 ADC 实例中的负载平衡虚拟服务器列表。

对于每个 lbvserver 符合条件 (servicetype == SSL) 的服务器,它会更新虚拟服务器的 SSL 设置以允许特定的 SSL 版本。

将内置数据源与集合一起使用

parameters: - name: selected-lbvserver label: Select an existing ADC type: datum required: true data-source: type: managed-adc collection: lbvserver

在本示例中,datum 参数用于选择 ADC 实例和 managed-adc 数据源类型中的 lbvserver

当您在 parameters 部分中定义集合类型时,样书用户可以从该实例的集合中选择 ADC 实例和特定实体。

带集合的内置 ADC 实例数据源

选择集合的属性

当样书用户选择虚拟服务器时,样书中的以下表达式可以访问所选项目的任何属性。

$parameters.selected-lbvserver.attributes.<attribute-name>

在本示例中,选择 datumlbvserver。因此,您可以访问 ADC 实体 lbvserver 的任何属性,例如 nameservicetypeipv46 等。

示例:

$parameters.selected-lbvserver.attributes.name

此表达式检索所选负载平衡虚拟服务器的名称。有关 ADC 实体(集合)及其属性的更多信息,请参阅 NetScaler NITRO API 参考资料

选择收藏列表

除了样书用户选择的项目外,您还可以在选定 ADC 实例上访问来自相同或不同集合的任何项目。要访问该 ADC 实例上的另一个集合,请在 components 部分中使用以下表达式:

$parameters.selected-lbvserver.datasource.collections.<collection-name>

示例:

$parameters.selected-lbvserver.datasource.collections.csvserver

此表达式返回来自所选 ADC 实例的内容切换虚拟服务器列表。

并且,以下表达式返回 lbvserversservicegroups 之间所有绑定的列表:

$parameters.selected-lbvserver.datasource.collections.lbvserver_servicegroup_binding

带有集合的样书示例

以下是样书示例,用于演示如何使用托管 ADC 实例作为数据源:

--- name: bind-lb-to-servicegroup-using-ADC-as-datasource namespace: com.citrix.adc.stylebooks version: "1.1" display-name: "HTTP/SSL LoadBalancing StyleBook with Service Binding" description: "This stylebook defines a typical Load Balanced Application configuration where we allow the user to select an existing lbvserver on the ADC using datum type parameter. Then a servicegroup for the selected lb is created if it does not exist on the ADC. Finally, the selected lbvserver is bound to the service " schema-version: "1.0" import-stylebooks: - namespace: netscaler.nitro.config prefix: ns version: "10.5" parameters: - name: selected-vserver label: "Select an Existing VServer" description: "Load Balancing Application Vservers to be bound to service on the ADC" type: datum required: true data-source: type: managed-adc collection: lbvserver - name: services label: Services type: object[] required: true parameters: - name: ip label: IP address type: ipaddress required: true - name: port label: Port type: tcp-port required: true components: - name: servicegroup-discovery-comp type: object repeat: $parameters.selected-vserver.datasource.collections.servicegroup repeat-item: svcgrp repeat-condition: $svcgrp.attributes.servicegroupname == $parameters.selected-vserver.attributes.name + "-svcgrp" properties: servicegroupname: $svcgrp.attributes.servicegroupname - name: servicegroup-creation-if-not-exists-comp type: ns::servicegroup condition: not exists($components.servicegroup-discovery-comp) properties: servicegroupname: $parameters.selected-vserver.attributes.name + "-svcgrp" servicetype: $parameters.selected-vserver.attributes.servicetype - name: servicegroupmember-comp type: ns::servicegroup_servicegroupmember_binding repeat: $parameters.services repeat-item: service properties: servicegroupname: if-then-else($components.servicegroup-discovery-comp, $components.servicegroup-discovery-comp.properties.servicegroupname, $components.servicegroup-creation-if-not-exists-comp.properties.servicegroupname) ip: $service.ip port: $service.port

在本样书中,components 部分检查与 svcgrp 连接的所选负载平衡虚拟服务器名称相匹配的服务组名称。

如果所选负载平衡虚拟服务器的名称为 lbv1,则此样书会检查名称为 lbv1-svcgrp 的服务组。如果找不到,它会创建一个服务组 lbv1-svcgrp 并与 lbv1 虚拟服务器绑定。

以下表达式获取 ADC 实例中的服务组列表。

repeat: $parameters.selected-vserver.datasource.collections.servicegroup
  • datasource:指由 ADM 管理的选定 ADC 实例。

  • collections:指 ADC 实例中的实体。

  • servicegroup:指 ADC 实例中的服务组。

本内容的正式版本为英文版。部分 Cloud Software Group 文档内容采用了机器翻译,仅供您参考。Cloud Software Group 无法控制机器翻译的内容,这些内容可能包含错误、不准确或不合适的语言。对于从英文原文翻译成任何其他语言的内容的准确性、可靠性、适用性或正确性,或者您的 Cloud Software Group 产品或服务沿用了任何机器翻译的内容,我们均不作任何明示或暗示的保证,并且适用的最终用户许可协议或服务条款或者与 Cloud Software Group 签订的任何其他协议(产品或服务与已进行机器翻译的任何文档保持一致)下的任何保证均不适用。对于因使用机器翻译的内容而引起的任何损害或问题,Cloud Software Group 不承担任何责任。
使用 NetScaler 实例作为数据源