Application Delivery Management

Einen Composite-StyleBook erstellen

Ein wichtiges und leistungsstarkes Merkmal von StyleBooks ist, dass sie als Bausteine für andere StyleBooks verwendet werden können. Ein StyleBook kann in einen anderen StyleBook importiert und als Typ bezeichnet werden, der von Komponenten des zweiten StyleBooks verwendet wird, ähnlich einem integrierten Nitro-StyleBook.

Sie können beispielsweise den basic-lb-config StyleBook, den Sie im vorherigen Abschnitt erstellt haben, verwenden, um einen weiteren StyleBook namens composite-example zu erstellen. Um den „basic-lb-config“ StyleBook zu verwenden, müssen Sie ihn im neuen StyleBook im Abschnitt import-stylebooks importieren.

Erstellen Sie Ihren StyleBook

Der neue StyleBook würde wie folgt aussehen:

name: composite-example
namespace: com.example.stylebooks
version: "0.1"
display-name: Virtueller Lastausgleichsserver (HTTP/RoundRobin)
description: Dieser StyleBook definiert eine RoundRobin-Lastausgleichskonfiguration mit einem Monitor.
schema-version: "1.0"
import-stylebooks:
  -
   namespace: netscaler.nitro.config
   version: "10.5"
   prefix: ns
  -
   namespace: com.example.stylebooks
   version: "0.1"
   prefix: stlb
parameters:
  -
    name: name
    type: string
    label: Anwendungsname
    description: Geben Sie der Anwendungskonfiguration einen Namen.
    required: true
  -
    name: ip
    type: ipaddress
    label: Virtuelle IP (VIP) der Anwendung
    description: Die Anwendungs-VIP, auf die Clients zugreifen
    required: true
  -
    name: svc-servers
    type: ipaddress[]
    label: IP-Adressen der Anwendungsserver
    description: Die IP-Adressen aller Server dieser Anwendung
    required: true

  -
    name: response-code
    type: string[]
    label: Liste der Antwortcodes
    description: Liste der Antwortcodes – Geben Sie eine Liste der Antwortcodes als Ganzzahl an.

components:
  -
    name: basic-lb-comp
    type: stlb::basic-lb-config
    description: Der Typ dieser Komponente ist ein weiterer StyleBook, der die NetScaler lbvserver-, Dienstgruppen- und Dienstkonfigurationsobjekte erstellt.
    properties:
     name: $parameters.name
     ip: $parameters.ip
     svc-servers: $parameters.svc-servers
  -
     name: monit-comp
     type: ns::lbmonitor
     description: Diese Komponente ist ein grundlegender Nitro-Typ (ein integrierter StyleBook), der das NetScaler-Monitor-Konfigurationsobjekt erstellt.
     properties:
       monitorname: $parameters.name + "-mon"
       type: HTTP
       respcode: $parameters.response-code
       httprequest: "'GET /'"
       lrtm: ENABLED
       secure: "YES"

     components:
        -
          name: monit-svcgrp-bind-comp
          type: ns::servicegroup_lbmonitor_binding
          properties:
            servicegroupname: $components.basic-lb-comp.outputs.servicegroup-comp.properties.servicegroupname
            monitor_name: $parent.properties.monitorname
<!--NeedCopy-->

Im Abschnitt import-stylebooks importieren Sie den basic-lb-config StyleBook, indem Sie seinen Namespace und seine Version verwenden, auf die mit dem Präfix „stlb“ verwiesen wird.

Im Abschnitt components sind zwei Komponenten definiert. Die erste Komponente ist vom Typ stlb::basic-lb-config, wobei „basic-lb-config“ der Name des StyleBooks ist, den Sie unter StyleBook zum Erstellen einer grundlegenden Lastausgleichskonfiguration erstellt haben. Die für diese Komponente definierten Eigenschaften entsprechen den obligatorischen Parametern, die im basic-lb-config StyleBook deklariert sind. Sie können jedoch jeden Parameter des StyleBooks verwenden (sowohl erforderliche als auch optionale). Anstatt einen lbvserver, eine Dienstgruppe sowie Dienst- und Dienstgruppenbindungen neu zu erstellen, importieren Sie den StyleBook, der all dies als Komponente erledigt, und verwenden ihn, um diese Konfigurationsobjekte im neuen StyleBook zu erstellen.

Der StyleBook fügt eine zweite Komponente „monit-comp“ hinzu, die die Attribute der Nitro-Ressource „lbmonitor“ (ein integrierter StyleBook) verwendet, um ein Monitor-Konfigurationsobjekt zu erstellen. Er verfügt auch über eine Unterkomponente „monit-svcgrp-bind-comp“, um das Bindungskonfigurationsobjekt zu erstellen, das den Monitor an die in der ersten Komponente erstellte Dienstgruppe bindet. Da die im „basic-lb-config“ StyleBook erstellte Dienstgruppenkomponente als Ausgabe verfügbar gemacht wird, kann dieser StyleBook über den Ausdruck $components.basic-lb-comp.outputs.servicegroup-comp darauf zugreifen. Dies ist ein Beispiel dafür, wie der outputs-Abschnitt von den importierenden StyleBooks verwendet werden kann, um auf Komponenten in den importierten StyleBooks zuzugreifen, auf die sie sonst keinen Zugriff gehabt hätten.

Kopieren Sie anschließend den StyleBook-Inhalt in einen Texteditor und speichern Sie die Datei als composite-example.yaml. Stellen Sie sicher, dass Sie den YAML-Inhalt validieren, bevor Sie die Datei in NetScaler ADM importieren. Importieren Sie sie dann in NetScaler ADM und erstellen Sie eine oder mehrere Konfigurationen mit diesem StyleBook.

Citrix empfiehlt, den integrierten YAML-Validator in StyleBooks zu verwenden, um den YAML-Inhalt zu validieren und zu importieren.

Einen Composite-StyleBook erstellen