Zusammengesetztes StyleBook erstellen
Eine wichtige und leistungsstarke Funktion von StyleBooks ist, dass sie als Bausteine für andere StyleBooks verwendet werden können. Ein StyleBook kann in ein anderes StyleBook importiert werden und kann als einTypbezeichnet werden, der von Komponenten des zweiten StyleBook ähnlich einem in NITRO integrierten StyleBook verwendet wird.
Beispielsweise können Sie dasBasic-lb-configStyleBook verwenden, das Sie im vorherigen Abschnitt erstellt haben, um ein anderes StyleBook namenscomposite-examplezu erstellen. Um das StyleBook “basic-lb-config” verwenden zu können, müssen Sie es in das neue StyleBook im Bereich import-stylebooks importieren.
Erstellen Sie Ihr StyleBook
Das neue StyleBook würde wie folgt aussehen:
name:composite-examplenamespace:com.example.stylebooksversion:"0.1"display-name:Load Balancing Virtual Server (HTTP/RoundRobin)description:This StyleBook defines a RoundRobin load balancing configuration with a monitor.schema-version:"1.0"import-stylebooks:-namespace:netscaler.nitro.configversion:"10.5"prefix:ns-namespace:com.example.stylebooksversion:"0.1"prefix:stlbparameters:-name:nametype:stringlabel:Application Namedescription:Give a name to the application configuration.required:true-name:iptype:ipaddresslabel:Application Virtual IP (VIP)description:The Application VIP that clients accessrequired:true-name:svc-serverstype:ipaddress[]label:Application Server IPsdescription:The IP addresses of all the servers of this applicationrequired:true-name:response-codetype:string[]label:List of Response Codesdescription:List of Response Codes - Provide a list of response codes in integer.components:-name:basic-lb-comptype:stlb::basic-lb-configdescription:This component's type is another StyleBook that builds the NetScaler lbvserver, servicegroups and services configuration objects.properties:name:$parameters.nameip:$parameters.ipsvc-servers:$parameters.svc-servers-name:monit-comptype:ns::lbmonitordescription:该组件是一个基本的硝基类型(内装式yleBook) that builds the NetScaler monitor configuration object.properties:monitorname:$parameters.name + "-mon"type:HTTPrespcode:$parameters.response-codehttprequest:"'GET/'"lrtm:ENABLEDsecure:"YES"components:-name:monit-svcgrp-bind-comptype:ns::servicegroup_lbmonitor_bindingproperties:servicegroupname:$components.basic-lb-comp.outputs.servicegroup-comp.properties.servicegroupnamemonitor_name:$parent.properties.monitorname
Im Abschnitt import-stylebooks importieren Sie das basic-lb-config StyleBook mithilfe seines Namespace und seiner Version, auf die mit dem Präfix verwiesen wirdstlb
.
Im Komponentenabschnitt werden zwei Komponenten definiert. Die erste Komponente ist vom Typstlb: :basic-lb-config, wobei “basic-lb-config” der Name des StyleBooks ist, das Sie in StyleBook erstellt haben,um eine grundlegende Lastausgleichskonfiguration zu erstellen. 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 StyleBook verwenden (sowohl erforderlich als auch optional). Anstatt albvserver
, eine Dienstgruppe sowie Service- und Servicegruppenbindungen neu aufzubauen, importieren Sie das StyleBook, das dies alles als Komponente tut, und verwenden es, um diese Konfigurationsobjekte im neuen StyleBook zu erstellen.
样本fugt一张zweite Komponentemonit-comp
hinzu, die die Attribute der NITRO-Ressourcelbmonitor
(ein integriertes StyleBook) verwendet, um ein Monitor-Konfigurationsobjekt zu erstellen. Es verfügt auch über eine Unterkomponentemonit-svcgrp-bind-comp
zum Erstellen des Bindungskonfigurationsobjekts, das den Monitor an die in der ersten Komponenteservicegroup
erstellte Bindung. Da die im StyleBook “basic-lb-config” erstellte Komponenteservicegroup
als Ausgabe verfügbar gemacht wird, kann dieses StyleBook mit dem Ausdruck$components.basic-lb-comp.outputs.servicegroup-compdarauf zugreifen. Dies ist ein Beispiel dafür, wie der Ausgabeabschnitt vom importierenden StyleBooks verwendet werden kann, um Zugriff auf Komponenten in den importierten StyleBooks zu haben, auf die sie sonst nicht zugreifen können.
Kopieren Sie anschließend den StyleBook-Inhalt, fügen Sie ihn in einen Texteditor ein und speichern Sie die Datei dann unter demNamen composite-example.yaml. Überprüfen Sie den YAML-Inhalt, bevor Sie die Datei in NetScaler ADM importieren. Importieren Sie es dann in NetScaler ADM und erstellen Sie mit diesem StyleBook eine oder mehrere Konfigurationen.
Citrix empfiehlt, den integrierten YAML-Validator in StyleBooks zu verwenden, um den YAML-Inhalt zu validieren und zu importieren.