StyleBook zum Erstellen eines virtuellen Lastausgleichsservers
In diesem Beispiel entwerfen Sie ein einfaches StyleBook, das einen virtuellen Lastausgleichsserver vom Typ HTTP-Protokoll erstellt und auf Port 80 überwacht. Die Parameter für den virtuellen Servernamen, die IP-Adresse und die Load-Balancing-Methode akzeptieren benutzerdefinierte Werte, d. h. sie sind die Parameter des StyleBook.
Header
Die ersten sechs Zeilen eines StyleBook bilden den Header-Bereich. In diesem Beispiel ist der Header-Abschnitt wie folgt geschrieben:
name:lb-vservernamespace:com.example.stylebookversion:"1.0"display-name:Load Balancing Virtual Server (HTTP)description:"ThisstylebookdefinesaverysimpleloadbalancingHTTPvirtualserverconfiguration"schema-version:"1.0"
Der Header-Abschnitt enthält die folgenden Details:
- name: Ein Name für dieses StyleBook.
- description: Eine Beschreibung, die definiert, was dieses StyleBook tut. Diese Beschreibung wird auf NetScaler ADM angezeigt.
- displayname: Ein beschreibender Name für das StyleBook, das auf NetScaler ADM angezeigt wird.
- Namespace: Ein Namespace ist Teil einer eindeutigen Kennung für ein StyleBook, um Namenskollisionen zu vermeiden.
- schema-version: Nimmt in diesem Release immer den Wert “1.0” an.
- version: Die Versionsnummer des StyleBook. Sie können die Versionsnummer ändern, wenn Sie das StyleBook aktualisieren.
Die Kombination vonName,NamespaceundVersionidentifiziert ein StyleBook im System eindeutig. Sie können nicht zwei StyleBooks mit derselben Kombination aus Name, Namespace und Version in NetScaler ADM haben. Sie können jedoch zwei StyleBooks mit demselben Namen und derselben Version, aber unterschiedlichen Namespaces oder mit demselben Namespace und derselben Version, aber unterschiedlichen Namen haben.
Hinweis
Bedenken您,您国际卫生条例样本aktualisierthaben und eine aktualisierte Versionsnummer haben. Wenn Sie nun in anderen StyleBooks auf dieses StyleBook verweisen (das heißt, wenn Sie es importieren), stellen Sie sicher, dass Sie die Versionsnummer auch in anderen StyleBooks aktualisieren, damit diese die richtige Version des importierten StyleBooks verwenden.
StyleBooks importieren
Der Abschnitt nach der Kopfzeile heißt “import-stylebooks”. In diesem Abschnitt müssen Sie den Namespace und die Versionsnummer jedes anderen StyleBooks deklarieren, auf das Sie in Ihrem aktuellen StyleBook verweisen möchten. Auf diese Weise können Sie andere StyleBooks importieren und wiederverwenden, anstatt dieselbe Konfiguration in Ihrem eigenen StyleBook neu zu erstellen.
In diesem Beispiel ist der Abschnitt import-stylebooks wie folgt geschrieben:
import-stylebooks:-namespace:netscaler.nitro.configprefix:nsversion:"10.5"
Jedes StyleBook muss auf den Namespace netscaler.nitro.config verweisen, wenn es eines der NITRO-Konfigurationsobjekte direkt verwendet. Dieser Namespace enthält alle NetScaler NITRO-Typen, z. B. LBVServer.Da Softwareversionen 10.5 und höher unterstützt werden, können Sie Ihr StyleBook verwenden, um Konfigurationen auf jeder NetScaler-Instanz zu erstellen und auszuführen, auf der Version 10.5 und höher ausgeführt wird.
Das im Abschnitt import-stylebooks verwendete Präfix ist eine Abkürzung für die Kombination von Namespace und Version. In diesem Fall bezieht sich ns auf netscaler.nitro.config der Version 10.5. In den späteren Abschnitten Ihres StyleBooks können Sie, anstatt den Namespace und die Version zu verwenden, um auf das importierte StyleBook zu verweisen, die im obigen Beispiel ausgewählt wurde, z. B. ns, verwenden.
Die in den StyleBooks verwendete Version ist die NetScaler NITRO Version. Ein StyleBook, das auf NITRO-Version X basiert, kann verwendet werden, um jeden NetScaler zu konfigurieren, der Version X oder höher ist.
Hinweis
Um sicherzustellen, dass Ihre StyleBooks zur Konfiguration einer beliebigen NetScaler-Instanz der Version 10.5 oder höher verwendet werden können, empfiehlt Citrix, den NITRO 10.5-Namespace aus Gründen der maximalen Kompatibilität zu importieren, der direkt die in NITRO integrierten StyleBooks verwendet (Namespace: netscaler.nitro.config, Version: 10.5).
Es是wichtig dass静脉样本,das安德利果汁猪圈leBooks importiert, auf einer NITRO-Version basieren muss, die dieselbe oder höhere Version als die von ihm importierten StyleBooks hat. Beispielsweise kann ein StyleBook, das auf NITRO Version 10.5 basiert, nicht von einem StyleBook abhängen, das auf 11.1 basiert, nicht verwenden oder es verwenden oder importieren. Ein StyleBook basierend auf Version 11.1 kann jedoch ein StyleBook importieren, das auf einer beliebigen Version von weniger als 11.1 basiert.
Es ist auch möglich, dass ein StyleBook den NITRO-Namespace überhaupt nicht importiert. Das bedeutet, dass ein StyleBook NITRO-Komponenten nicht direkt definieren muss, sondern StyleBooks importieren kann, die NITRO-Komponenten definieren. Das StyleBook, das andere StyleBooks importiert, erhält immer die höchste NITRO-Version in der Hierarchie seiner Abhängigkeiten. Und es wird verwendet, um NetScaler dieser Version oder höher zu konfigurieren.
Parameter
Im Parameterbereich können Sie alle Parameter deklarieren, die Sie in Ihrem StyleBook benötigen. Sie als StyleBook-Entwickler müssen entscheiden, welche Eingaben die Benutzer Ihres StyleBooks angeben sollen. In diesem Beispiel haben Sie Ihr StyleBook so aufgebaut, dass die Benutzer den Namen des virtuellen Servers, seine IP-Adresse und die Lastausgleichsmethode angeben müssen.
Der Abschnitt “Parameter” würde wie folgt aussehen:
parameters:-name:namelabel:"ApplicationName"description:"Giveanametotheapplicationconfiguration."type:stringrequired:true-name:vip-ipaddresslabel:"LoadBalancerIPAddress"description:"TheApplicationVIPthatclientsaccess"type:ipaddressrequired:true-name:lb-alglabel:LB Algorithmdescription:Load Balancing Algorithmtype:stringdefault:ROUNDROBINallowed-values:-ROUNDROBIN-LEAST-CONNECTION
Hinweis
Wenn Sie die Bezeichnung eines Parameters nicht angeben, verwendet NetScaler ADM bei der Anzeige dieses Parameters das name-Attribut. Sie müssen immer eine Bezeichnung für Ihre Parameter definieren, damit Sie steuern können, wie sie in NetScaler ADM angezeigt werden.
Bei Verwendung der APIs wird der Parameter jedoch durch seinen Namen gekennzeichnet.
In diesem Abschnitt haben Sie drei Parameter deklariert, die durch ihreNamensattributwertegekennzeichnet sind:Namefür den virtuellen Servernamen,IPfür die IP-Adresse des virtuellen Servers undlb-algfür die Lastausgleichsmethode.
- Typbezieht sich auf den Typ des Wertes, den diese Parameter annehmen können. Zum Beispiel kann Name und
lb-alg
靠窗户String-Wert annehmen, v和der IP-Wert弄乱om Typ IP-Adresse sein. Parameter in einem StyleBook können von einem der folgenden integrierten Typen sein: - string: Eine Reihe von Zeichen. Wenn keine Länge angegeben wird, kann der Zeichenfolgenwert beliebig viele Zeichen annehmen. Sie können jedoch die Länge eines String-Typs einschränken, indem Sie die Attribute min-length und max-length verwenden.
- Zahl: Eine Ganzzahl. Sie können die minimale und maximale Anzahl angeben, die dieser Typ annehmen kann, indem Sie die Attribute min-value und max-value verwenden.
- boolean: Kann entweder true oder false sein. Beachten Sie auch, dass alle Literale von YAML als boolesche Werte betrachtet werden (z. B. Ja oder Nein).
- ipaddress: Ein String, der eine gültige IPv4- oder IPv6-Adresse darstellt.
- tcp-Port:一杯Zahl说是0和65535年死杯TCP - oder UDP-Port darstellt.
- password: Ein undurchsichtiger/geheimer String-Wert. Wenn NetScaler ADM einen Wert für diesen Parameter anzeigt, wird er als Sternchen (*****) angezeigt.
- certfile: Eine Zertifikatsdatei.
- keyfile: Eine private Schlüsseldatei für ein Zertifikat.
- file: Für einen Parameter dieses Typs muss der Benutzer eine Datei hochladen, z. B. ein Zertifikat oder eine Schlüsseldatei.
- object: Besteht aus mehreren Elementen und jedes dieser Elemente ist ein Parameter. Dieser Typ kann verwendet werden, um mehrere verwandte Parameter unter einem übergeordneten Parameter zu gruppieren.
- required: Gibt an, ob ein Parameter obligatorisch oder optional ist. Wenn er auf true gesetzt ist, ist der Parameter obligatorisch und der Benutzer muss beim Erstellen von Konfigurationen mit diesem StyleBook einen Wert für diesen Parameter angeben. Standardmäßig sind alle Parameter optional. In diesem Beispiel sindnameundipobligatorische Parameter, währendlb-algein optionaler Parameter ist, dessen Standardwert “ROUNDROBIN” ist.
Verwenden Sie dasStandardattribut, um einem optionalen Parameter einen Standardwert zuzuweisen. Wenn ein Benutzer beim Erstellen einer Konfiguration keinen Wert angibt, wird der Standardwert verwendet. Für den Parameterlb-algist der Standardwert beispielsweise ROUNDROBIN.
Verwenden Sie das Attributallowed-values, um bestimmte Werte zu definieren, aus denen ein Benutzer beim Erstellen einer Konfiguration auswählen kann. In diesem Beispiel haben Sie zwei Werte für den Parameterlb-algangegeben - ROUNDROBIN und LEASTCONNECTION.
Wenn Sie Ihr StyleBook importieren und es verwenden, zeigt NetScaler ADM ein Formular mit diesen drei Parametern an. Die für Name und IP angezeigten Felder ermöglichen die Eingabe von Zeichenfolge und Werttypipaddress
, und das Feldlb-alg
wird als Dropdownliste angezeigt, wobei ROUNDROBIN als Standardwert ausgewählt ist.
Hinweis
Zusätzlich zu den integrierten Typen kann ein Parameter ein anderes StyleBook als Typ haben. Dies ist eine Möglichkeit, in anderen StyleBooks definierte Parameter wiederzuverwenden.
Komponenten
Der letzte Abschnitt in diesem StyleBook wird als Komponentenbereich bezeichnet und gilt als der wichtigste Abschnitt im StyleBook. In diesem Abschnitt definieren Sie die Konfigurationsobjekte, die vom StyleBook erstellt werden müssen.
Für dieses Beispiel müssen Sie den Komponentenabschnitt wie folgt schreiben:
components:-name:lbvserver-compdescription:This StyleBook component (a Builtin Nitro StyleBook) builds a NetScaler lbvserver configuration object.type:ns::lbvserverproperties:name:$parameters.nameipv46:$parameters.vip-ipaddresslbmethod:$parameters.lb-algservicetype:HTTPport:80
Dieses Beispiel enthält nur eine Komponente. Die Hauptattribute einer Komponente sind Name, Typ und Eigenschaften. Der Typ einer Komponente bestimmt, welche Eigenschaften diese Komponente bietet. Komponenten sind von zwei Arten:
- Eingebauter Typ: Dieser Typ wird vom System bereitgestellt und Sie müssen ihn nicht definieren, z. B. die NITRO-Entitätstypen
lbvserver
oderservicegroup
. In diesem Beispiel verwenden Sie einen integrierten Komponententyp. - Composite-Typ:这位Typ】样本,das您erstellt und in NetScaler ADM importiert haben, oder das Standard-StyleBook, das mit NetScaler ADM geliefert wird. Weitere Informationen zu Composite StyleBooks findenSie unter Erstellen eines zusammengesetzten StyleBooks.
In diesem Beispiel haben Sie eine Komponente namenslbvserver-compdefiniert. Diese Komponente ist vom Typns። lbvserver(ein integrierter NITRO-Typ), wobei “ns” das Präfix ist, das sich auf den Namespace netscaler.nitro.config und Version 10.5 bezieht, den Sie im Abschnitt import-stylebooks angegeben haben, undlbvserver
eine NITRO-Ressource in diesem Namespace ist.
Die hier definiertenEigenschaftensind die Attribute der Ressourcelbvserver
. Weitere Informationen zu allen verfügbaren NetScaler NITRO-Ressourcen und ihren Attributen finden Sie in derDokumentation zur NetScaler NITRO REST API.
Die Eigenschaften in diesem Abschnitt enthalten die obligatorischen Attribute der Ressourcelbvserver
und ermöglichen es Ihnen, Werte für diese Attribute anzugeben. In diesem Beispiel geben Sie statische Werte fürservicetype
und Port an, während der Name, ipv46 undlbmethod
ihre Werte aus den Eingabeparametern erhalten. Im Rest des StyleBook können Sie auf die Parameternamen verweisen, die im Parameterabschnitt definiert sind, indem Sie den Ausdruck$parameters.
Hinweis
Die Konvention ist, das Präfix “ns” immer zu verwenden, um einen NetScaler NITRO-Namespace im Abschnitt “Import-Stylebooks” zu bezeichnen. Obwohl dies nicht obligatorisch ist, empfiehlt Citrix, die gleiche Konvention in Ihren eigenen StyleBooks zur Konsistenz zu verwenden.
Erstellen Sie Ihr StyleBook
Nachdem Sie alle erforderlichen Abschnitte dieses StyleBooks definiert haben, fügen Sie sie alle zusammen, um Ihr erstes StyleBook zu erstellen. Kopieren Sie den StyleBook-Inhalt, fügen Sie ihn in einen Texteditor ein, und speichern Sie die Datei dann unter demNamen lb-vserver.yaml. Citrix empfiehlt, den integrierten YAML-Validator in StyleBooks zu verwenden, um den YAML-Inhalt zu validieren und zu importieren.
Der vollständige Inhalt der Datei lb-vserver.yaml ist unten wiedergegeben:
name:lb-vservernamespace:com.example.stylebookversion:"1.0"display-name:Load Balancing Virtual Server (HTTP)description:"ThisstylebookdefinesaverysimpleloadbalancingHTTPvirtualserverconfiguration"schema-version:"1.0"import-stylebooks:-namespace:netscaler.nitro.configversion:"10.5"prefix:ns-namespace:com.citrix.adc.stylebooksversion:"1.0"prefix:stlbparameters:-name:namelabel:"ApplicationName"description:"Giveanametotheapplicationconfiguration."type:stringrequired:true-name:vip-ipaddresslabel:"LoadBalancerIPAddress"description:"TheApplicationVIPthatclientsaccess"type:ipaddressrequired:true-name:lb-alglabel:LB Algorithmdescription:Load Balancing Algorithmtype:stringdefault:ROUNDROBINallowed-values:-ROUNDROBIN-LEAST-CONNECTIONcomponents:-name:lbvserver-compdescription:This StyleBook component (a Builtin Nitro StyleBook) builds a NetScaler lbvserver configuration object.type:ns::lbvserverproperties:name:$parameters.nameipv46:$parameters.vip-ipaddresslbmethod:$parameters.lb-algservicetype:HTTPport:80
Um mit dem StyleBook Konfigurationen zu erstellen, müssen Sie es in NetScaler ADM importieren und es dann verwenden. WeitereInformationen finden Sie unter Verwenden von benutzerdefinierten StyleBooks.
Sie können dieses StyleBook auch in andere StyleBooks importieren (mit dem Import-StyleBooks-Konstrukt). Oder Sie können dieses StyleBook so ändern, dass es weitere Parameter und Komponenten enthält, wie im nächsten Abschnitt beschrieben.