Application Delivery Management

Erstellen eines zusammengesetzten StyleBooks

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

Sie können beispielsweise das basic-lb-config StyleBook, das Sie im vorherigen Abschnitt erstellt haben, verwenden, um ein weiteres StyleBook namens composite-example zu erstellen. Um das “basic-lb-config” StyleBook zu verwenden, müssen Sie es im neuen StyleBook im Abschnitt “import-stylebooks” importieren.

Erstellen Sie Ihr StyleBook

Das neue StyleBook würde wie folgt aussehen:

name: composite-example
namespace: com.example.stylebooks
version: "0.1"
display-name: Lastausgleich virtueller Server (HTTP/RoundRobin)
description: Dieses 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 Anwendungs-IP (VIP)
    description: Die Anwendungs-VIP, auf die Clients zugreifen
    required: true
  -
    name: svc-servers
    type: ipaddress[]
    label: Anwendungs-Server-IPs
    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 weiteres StyleBook, das 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 integriertes 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 das basic-lb-config StyleBook unter Verwendung seines Namespace und seiner Version, 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, das 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 das StyleBook, das all dies als Komponente erledigt, und verwenden es, um diese Konfigurationsobjekte im neuen StyleBook zu erstellen.

StyleBook fügt eine zweite Komponente “monit-comp” hinzu, die die Attribute der Nitro-Ressource „lbmonitor“ (ein integriertes StyleBook) verwendet, um ein Monitor-Konfigurationsobjekt zu erstellen. Es 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 dieses StyleBook über den Ausdruck $components.basic-lb-comp.outputs.servicegroup-comp darauf zugreifen. Dies ist ein Beispiel dafür, wie der Abschnitt “outputs” 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 die NetScaler Console importieren. Importieren Sie sie dann in die NetScaler Console und erstellen Sie eine oder mehrere Konfigurationen mit diesem StyleBook.

Wir empfehlen Ihnen, den integrierten YAML-Validator in StyleBooks zu verwenden, um den YAML-Inhalt zu validieren und zu importieren.

Erstellen eines zusammengesetzten StyleBooks