Application Delivery Management

Eine NetScaler-Instanz als Datenquelle verwenden

Sie können die verwalteten NetScaler-Instanzen als Datenquellen verwenden. Der managed-adc ist ein integrierter Datenquellentyp, der in der NetScaler Console direkt als Datenquelle verwendet werden kann. Jede verwaltete NetScaler-Instanz in der NetScaler Console ist standardmäßig eine Datenquelle. Sie können diese Datenquellen in Ihren StyleBooks verwenden, wenn Sie Daten von einem bestehenden, von der NetScaler Console verwalteten NetScaler benötigen, während Sie Konfigurationspakete erstellen.

In der StyleBook-Definition geben Sie den integrierten Typparameter datum an. Sie können die Datenquellentypen in Ihrem StyleBook verwenden. Die StyleBook-Benutzer können eine Datenquelle auswählen, die zum Abrufen von Daten aus dieser Quelle verwendet werden kann.

Verwenden der integrierten Datenquelle ohne Sammlung

parameters:
  -  name: selected-adc
    label: Select an existing NetScaler
    type: datum
    required: true
    data-source:
      type: managed-adc
<!--NeedCopy-->

In diesem Beispiel wird der Parameter datum verwendet, um eine beliebige von der NetScaler Console verwaltete NetScaler-Instanz auszuwählen. Die integrierte Datenquelle managed-adc ermöglicht es Ihnen, Daten von jeder von der NetScaler Console verwalteten NetScaler-Instanz abzurufen.

In Ihrem StyleBook können Sie auf jede Konfiguration der ausgewählten NetScaler-Instanz zugreifen. Und Sie können diese Konfiguration beim Erstellen oder Aktualisieren von Konfigurationen auf derselben NetScaler-Instanz oder einer anderen NetScaler-Instanz verwenden; dies hängt von der ausgewählten Ziel-NetScaler-Instanz ab.

Zugriff auf die Sammlung aus einer Datenquelle:

Um in der ausgewählten NetScaler-Instanz auf eine Sammlung zuzugreifen, verwenden Sie den folgenden Ausdruck:

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

Beispiel:

$parameters.selected-adc.collections.lbvserver
<!--NeedCopy-->

Dieser Ausdruck gibt die Liste der lbvserver-Entitäten auf der ausgewählten NetScaler-Instanz zurück. Sie können beispielsweise diese Liste durchlaufen, um einen bestimmten lbvserver auszuwählen, der eine bestimmte Bedingung erfüllt.

Beispiel-StyleBook ohne Sammlung

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 NetScaler instance
      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
<!--NeedCopy-->

Die GUI des Konfigurationspakets zeigt die von der NetScaler Console verwalteten NetScaler-Instanzen an, und StyleBook-Benutzer können beim Erstellen oder Aktualisieren des Konfigurationspakets einen beliebigen NetScaler auswählen.

Integrierte NetScaler-Datenquelle ohne Sammlung

Dieses StyleBook verwendet den ausgewählten NetScaler und durchläuft alle lbvserver-Entitäten. Es wählt die SSL-virtuellen Server aus und legt die zulässigen SSL-Protokollversionen auf jedem virtuellen Server fest.

Der folgende Ausdruck ermöglicht es Ihnen, die Liste der lbvserver-Entitäten in der NetScaler-Instanz zu durchlaufen.

repeat: $parameters.selected-adc.collections.lbvserver
<!--NeedCopy-->
  • collections: Bezieht sich auf alle Entitätstypen auf der NetScaler-Instanz. Zum Beispiel csvserver, lbmonitor, servicegroup usw.

  • lbvserver: Bezieht sich auf die Liste der Load-Balancing-Virtual-Server-Entitäten in der NetScaler-Instanz.

Verwenden der integrierten Datenquelle mit Sammlung

parameters:
  -  name: selected-lbvserver
    label: Select an existing lbvserver
    type: datum
    required: true
    data-source:
      type: managed-adc
      collection: lbvserver
<!--NeedCopy-->

In diesem Beispiel wird der Parameter datum verwendet, um einem Benutzer die Auswahl sowohl der NetScaler-Instanz als auch eines spezifischen lbvserver aus dem Datenquellentyp managed-adc zu ermöglichen.

Wenn Sie einen Sammlungstyp im Abschnitt parameters definieren, können die StyleBook-Benutzer die NetScaler-Instanz und eine spezifische Entität aus einer Sammlung auf dieser Instanz auswählen.

Integrierte Instanz-Datenquelle mit Sammlung

Zugriff auf ein Attribut des ausgewählten Elements:

Wenn der StyleBook-Benutzer einen virtuellen Server auswählt, kann der folgende Ausdruck in Ihrem StyleBook auf jedes Attribut des ausgewählten Elements zugreifen.

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

In diesem Beispiel ist das ausgewählte datum lbvserver. Sie können also auf jedes Attribut der NetScaler-Entität lbvserver zugreifen, wie z. B. name, servicetype, ipv46 und so weiter.

Beispiel:

$parameters.selected-lbvserver.attributes.ipv46
<!--NeedCopy-->

Dieser Ausdruck ruft die IP-Adresse des ausgewählten Load-Balancing-Virtual-Servers ab. Weitere Informationen zu den NetScaler-Entitäten (Sammlungen) und ihren Attributen finden Sie in der NetScaler NITRO API-Referenz.

Mehrere Elemente aus einer Sammlung auswählen:

Der folgende Parameterabschnitt ermöglicht StyleBook-Benutzern, mehrere Elemente einer Sammlung auszuwählen.

parameters:
  -  name: selected-lbvservers
    label: Select existing lbvservers
    type: datum[]
    required: true
    data-source:
      type: managed-adc
      collection: lbvserver
<!--NeedCopy-->

In diesem Beispiel wird der Datumsparameter verwendet, um das Datenquellen-Array zu definieren. Der Benutzer kann einen oder mehrere lbvserver von einer einzelnen NetScaler®-Instanz oder über mehrere NetScaler-Instanzen hinweg auswählen.

Das folgende Code-Snippet zeigt, wie auf ausgewählte Elemente und deren Attribute zugegriffen wird.

components:
  -  name: sslvserver-comp
    type: ns::sslvserver
    repeat:
      repeat-list: $parameters.selected-lbvservers
      repeat-item: vserverObj
    properties:
      name: $vserverObj.attributes.name
      ssl2: DISABLED
      ssl3: DISABLED
      tls1: DISABLED
      tls11: ENABLED
      tls12: ENABLED
<!--NeedCopy-->

Zugriff auf eine Sammlung über die Referenz des ausgewählten Elements:

Zusätzlich zur Möglichkeit, einem StyleBook-Benutzer die Auswahl einer spezifischen Entität auf einer verwalteten NetScaler-Instanz zu ermöglichen, können Sie auch auf jede Entität aus derselben oder verschiedenen Sammlungen auf der ausgewählten NetScaler-Instanz zugreifen. Um auf eine andere Sammlung auf dieser NetScaler-Instanz zuzugreifen, verwenden Sie den folgenden Ausdruck im Abschnitt components:

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

Beispiel:

$parameters.selected-lbvserver.datasource.collections.csvserver
<!--NeedCopy-->

Dieser Ausdruck gibt die Liste der Content-Switching-Virtual-Server von der ausgewählten NetScaler-Instanz zurück.

Und der folgende Ausdruck gibt eine Liste aller Bindungen zwischen lbvservers und servicegroups zurück:

$parameters.selected-lbvserver.datasource.collections.lbvserver_servicegroup_binding
<!--NeedCopy-->

Beispiel-StyleBook mit einer Sammlung

Das Folgende ist ein Beispiel-StyleBook, das zeigt, wie die verwaltete NetScaler-Instanz als Datenquelle verwendet wird:

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 NetScaler using datum type parameter. Then a servicegroup for the selected lb is created if it does not exist on the NetScaler. 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

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
    components: 
      - 
        name: lbvserver-servicegroup-binding
        type: ns::lbvserver_servicegroup_binding
        properties: 
          name: $parameters.selected-vserver.attributes.name
          servicegroupname: $parent.properties.servicegroupname
<!--NeedCopy-->

In diesem StyleBook prüft der Abschnitt components den Namen der Dienstgruppe, der mit dem Namen des ausgewählten Load-Balancing-Virtual-Servers, der mit svcgrp verkettet ist, übereinstimmt.

Wenn der Name des ausgewählten Load-Balancing-Virtual-Servers lbv1 ist, prüft dieses StyleBook, ob eine Dienstgruppe mit dem Namen lbv1-svcgrp existiert. Wenn sie nicht gefunden wird, erstellt es eine Dienstgruppe lbv1-svcgrp und bindet sie an den virtuellen Server lbv1.

Der folgende Ausdruck ruft die Liste der Dienstgruppen in der NetScaler-Instanz ab.

repeat: $parameters.selected-vserver.datasource.collections.servicegroup
<!--NeedCopy-->

In diesem Ausdruck:

  • datasource: Bezieht sich auf die ausgewählte, von der NetScaler Console verwaltete NetScaler-Instanz.

  • collections: Bezieht sich auf alle Entitäten in der NetScaler-Instanz.

  • servicegroup: Bezieht sich auf die Dienstgruppen in der NetScaler-Instanz.

Filtern von Sammlungsdaten:

Der folgende Parameterabschnitt erklärt, wie Filter für eine integrierte Datenquellensammlung in der StyleBook-Definition angegeben werden. Er ermöglicht StyleBook-Benutzern, ein spezifisches Element aus einer gefilterten Sammlung auszuwählen.

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

<!--NeedCopy-->

In diesem Beispiel wird der Datumsparameter verwendet, um einem Benutzer die Auswahl sowohl der NetScaler-Instanz als auch eines spezifischen lbvserver mit SSL-Protokoll aus dem Datenquellentyp managed-adc zu ermöglichen.

Nachdem der StyleBook-Benutzer einen virtuellen Server ausgewählt hat, kann auf jedes Attribut des ausgewählten Elements auf die gleiche Weise zugegriffen werden, wie im vorherigen Abschnitt erläutert.

Eine NetScaler-Instanz als Datenquelle verwenden