StyleBook pour créer un serveur virtuel d’équilibrage de charge
Dans cet exemple, vous concevez un StyleBook de base qui crée un serveur virtuel d’équilibrage de charge de type protocole HTTP et écoutant sur le port 80. Le nom du serveur virtuel, l’adresse IP et les paramètres de la méthode d’équilibrage de charge acceptent des valeurs définies par l’utilisateur, c’est-à-dire qu’il s’agit des paramètres du StyleBook.
En-tête
Les six premières lignes d’un StyleBook constituent la section d’en-tête. Dans cet exemple, la section d’en-tête est écrite comme suit :
name:lb-vservernamespace:com.example.stylebookversion:"1.0"display-name:Load Balancing Virtual Server (HTTP)description:"ThisstylebookdefinesaverysimpleloadbalancingHTTPvirtualserverconfiguration"schema-version:"1.0"
La section d’en-tête inclut les informations suivantes :
- nom: nom pour ce StyleBook.
- description:描述definissant什么做样本. Cette description apparaît sur NetScaler ADM.
- display-name : nomdescriptif du StyleBook qui apparaît sur NetScaler ADM.
- espace de noms: un espace de noms fait partie d’un identificateur unique pour un StyleBook afin d’éviter les collisions de noms.
- schema-version: prend toujours la valeur « 1.0 » dans cette version.
- version: numéro de version du StyleBook. Vous pouvez modifier le numéro de version lorsque vous mettez à jour le StyleBook.
La combinaison dunom, de l’espace denomset dela versionidentifie de manière unique un StyleBook dans le système. Vous ne pouvez pas avoir deux StyleBooks avec la même combinaison de nom, d’espace de nommage et de version dans NetScaler ADM. Cependant, vous pouvez avoir deux StyleBooks avec le même nom et la même version mais des espaces de noms différents, ou avec le même espace de noms et la même version mais des noms différents.
Remarque
Supposons que vous avez mis à jour votre StyleBook et que vous avez un numéro de version mis à jour. Maintenant, si vous faites référence (c’est-à-dire si vous importez) ce StyleBook dans d’autres StyleBooks, veillez à mettre à jour le numéro de version dans d’autres StyleBooks également, afin qu’ils utilisent la bonne version du StyleBook importé.
Importer des StyleBooks
La section après l’en-tête est appelée «import-stylebooks ». Dans cette section, vous devez déclarer l’espace de noms et le numéro de version de tout autre StyleBook auquel vous souhaitez faire référence dans votre StyleBook actuel. Cela vous permet d’importer et de réutiliser d’autres StyleBooks au lieu de recréer la même configuration dans votre propre StyleBook.
Dans cet exemple, la section import-stylebooks est écrite comme suit :
import-stylebooks:-namespace:netscaler.nitro.configprefix:nsversion:"10.5"
Chaque StyleBook doit faire référence à l’espace de noms netscaler.nitro.config s’il utilise directement l’un des objets de configuration NITRO. Cet espace de noms contient tous les types de NetScaler NITRO, tels que LBVServer. Les versions logicielles 10.5 et ultérieures étant prises en charge, vous pouvez utiliser votre StyleBook pour créer et exécuter des configurations sur n’importe quelle instance NetScaler exécutant les versions 10.5 et ultérieures.
Le préfixe utilisé dans la section import-stylebooks est un raccourci qui fait référence à la combinaison de l’espace de noms et de la version. Dans ce cas, ns fait référence à netscaler.nitro.config de la version 10.5. Dans les dernières sections de votre StyleBook, au lieu d’utiliser l’espace de noms et la version pour faire référence au StyleBook importé, vous pouvez utiliser la chaîne de préfixe choisie, par exemple ns, dans l’exemple ci-dessus.
La version utilisée dans les StyleBooks est la version NetScaler NITRO. Un StyleBook basé sur la version X de NITRO peut être utilisé pour configurer n’importe quel NetScaler de version X ou supérieure.
Remarque
Pour garantir que vos StyleBooks peuvent être utilisés pour configurer n’importe quelle instance NetScaler de version 10.5 ou ultérieure, Citrix recommande, pour une compatibilité maximale, d’importer l’espace de noms NITRO 10.5 dans vos StyleBooks qui utilisent directement les StyleBooks intégrés à NITRO (espace de noms : netscaler.nitro.config, version : 10.5).
Il est important qu’un StyleBook qui importe d’autres StyleBooks doit être basé sur une version NITRO qui est identique ou supérieure à celle des StyleBooks qu’il importe. Par exemple, un StyleBook basé sur NITRO version 10.5 ne peut pas dépendre, utiliser ou importer un StyleBook basé sur la version 11.1. Mais un StyleBook basé sur la version 11.1 peut importer un StyleBook basé sur n’importe quelle version inférieure à 11.1.
Il est également possible qu’un StyleBook n’importe pas du tout l’espace de noms NITRO. Cela signifie qu’un StyleBook n’a pas besoin de définir directement des composants NITRO, mais peut importer (dépendre) StyleBooks qui définit les composants NITRO. Le StyleBook qui importe d’autres StyleBooks acquiert toujours la version NITRO la plus élevée dans la hiérarchie de ses dépendances. Il est également utilisé pour configurer les NetScalers de cette version ou d’une version ultérieure.
Paramètres
La section des paramètres vous permet de déclarer tous les paramètres dont vous avez besoin dans votre StyleBook. En tant que développeur de StyleBook, vous devez décider de l’entrée que vous souhaitez que les utilisateurs de votre StyleBook spécifient. Dans cet exemple, vous avez créé votre StyleBook de manière à ce que ses utilisateurs fournissent le nom du serveur virtuel, son adresse IP et la méthode d’équilibrage de charge.
La section des paramètres se présenterait comme suit :
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
Remarque
Si vous ne fournissez pas l’étiquette d’un paramètre, NetScaler ADM utilise l’attribut name lors de l’affichage de ce paramètre. Vous devez toujours définir une étiquette pour vos paramètres afin de pouvoir contrôler leur affichage dans NetScaler ADM.
Toutefois, lors de l’utilisation des API, le paramètre est désigné par son nom.
Dans cette section, vous avez déclaré trois paramètres indiqués par leurs valeurs d’attributname:namepour le nom du serveur virtuel,ippour l’adresse IP du serveur virtuel, etlb-algpour la méthode d’équilibrage de charge.
- fait référence au type de valeur que ces paramètres peuvent prendre.Par exemple, nom et
lb-alg
peut prendre une valeur de chaîne et la valeur IP doit être de type adresse IP. Les paramètres d’un StyleBook peuvent être de l’un des types intégrés suivants : - chaîne: tableau de caractères. Si aucune longueur n’est spécifiée, la valeur de la chaîne peut prendre n’importe quel nombre de caractères. Toutefois, vous pouvez limiter la longueur d’un type de chaîne en utilisant les attributs min-length et max-length.
- number: nombre entier. Vous pouvez spécifier le nombre minimum et maximum que ce type peut prendre en utilisant les attributs min-value et max-value.
- boolean: peut être vrai ou faux. Notez également que tous les littéraux sont considérés par YAML comme des booléens (par exemple, Oui ou Non).
- ipaddress: chaîne qui représente une adresse IPv4 ou IPv6 valide.
- tcp-port: nombre compris entre 0 et 65535 qui représente un port TCP ou UDP.
- mot de passe: valeur de chaîne opaque/secrète. Lorsque NetScaler ADM affiche une valeur pour ce paramètre, elle est représentée par des astérisques (*).****
- certfile: un fichier de certificat.
- keyfile : fichierde clé privée du certificat.
- fichier: un paramètre de ce type nécessite que l’utilisateur télécharge un fichier, par exemple un certificat ou un fichier clé.
- objet: se compose de plusieurs éléments et chacun de ces éléments est un paramètre. Ce type peut être utilisé pour regrouper plusieurs paramètres associés sous un paramètre parent.
- obligatoire: indique si un paramètre est obligatoire ou facultatif. S’il est défini sur true, le paramètre est obligatoire et l’utilisateur doit fournir une valeur pour ce paramètre lors de la création de configurations à l’aide de ce StyleBook. Par défaut, tous les paramètres sont facultatifs. Dans cet exemple, lenomet l’adresse IPsont des paramètres obligatoires tandis quelb-algest un paramètre facultatif dont la valeur par défaut est « ROUNDROBIN ».
Utilisez l’attributdefaultpour attribuer une valeur par défaut à un paramètre facultatif. Lors de la création d’une configuration, si un utilisateur ne spécifie aucune valeur, la valeur par défaut est utilisée. Par exemple, pour le paramètrelb-alg, la valeur par défaut est ROUNDROBIN.
Utilisez l’attributallowed-valuespour définir des valeurs spécifiques parmi lesquelles un utilisateur peut choisir lors de la création d’une configuration. Dans cet exemple, vous avez spécifié deux valeurs pour le paramètrelb-alg: ROUNDROBIN et LEASTCONNECTION.
Lorsque vous importez votre StyleBook et que vous l’utilisez, NetScaler ADM affiche un formulaire avec ces trois paramètres. Les champs affichés pour le nom et l’adresse IP permettent deipaddress
saisir la chaîne et le type de valeur, et lelb-alg
champ est affiché sous la forme d’une liste déroulante avec ROUNDROBIN sélectionné comme valeur par défaut.
Remarque
Outre les types intégrés, un paramètre peut avoir un autre type StyleBook. C’est une façon de réutiliser les paramètres définis dans d’autres StyleBooks.
Composants
最后一节de ce样本叫La年代ection Composants et est considérée comme la section la plus importante du StyleBook. Dans cette section, vous définissez les objets de configuration qui doivent être créés par le StyleBook.
Pour cet exemple, vous devez écrire la section des composants comme suit :
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
Cet exemple ne contient qu’un seul composant. Les principaux attributs d’un composant sont le nom, le type et les propriétés. Le type d’un composant détermine les propriétés qu’il fournit. Les composants sont de deux types :
- Type intégré: Ce type est fourni par le système et vous n’avez pas besoin de le définir, par exemple, les types d’entité NITRO
lbvserver
ouservicegroup
. Dans cet exemple, vous utilisez un type de composant intégré. - Type composite优势:ce类型est le样本你们等我mporté dans NetScaler ADM, ou le StyleBook par défaut fourni avec NetScaler ADM. Pour en savoir plus sur les StyleBooks composites,consultez Créer un StyleBook composite.
Dans cet exemple, vous avez défini un composant appelélbvserver-comp. Ce composant est de typens። lbvserver(联合国类型硝基integre),或者“ns”le prefixequi fait référence à l’espace de noms netscaler.nitro.config et à la version 10.5 que vous aviez spécifiés dans la section import-stylebooks, etlbvserver
est une ressource NITRO dans cet espace de noms.
Lespropriétésdéfinies ici sont les attributs de lalbvserver
ressource. Pour en savoir plus sur toutes les ressources NetScaler NITRO disponibles et leurs attributs, consultez la documentation de l’API RESTNetScalerNITRO.
Les propriétés de cette section incluent les attributs obligatoires de lalbvserver
ressource et vous permettent de spécifier des valeurs pour ces attributs. Dans cet exemple, vous spécifiez des valeurs statiques pourservicetype
et port tandis que le nom, ipv46 et les propriétéslbmethod
obtiennent leurs valeurs à partir des paramètres d’entrée. Dans le reste du StyleBook, vous pouvez faire référence aux noms de paramètres définis dans la section parameters à l’aide de l’expression$parameters.
Remarque
标准惯例,le prefixe«ns»始终尿路感染lisé pour désigner un espace de noms NetScaler NITRO dans la section « import-stylebooks ». Bien que ce ne soit pas obligatoire, Citrix recommande d’utiliser la même convention dans vos propres StyleBooks pour des raisons de cohérence.
Créez votre StyleBook
Maintenant que vous avez défini toutes les sections requises de ce StyleBook, regroupez-les toutes pour créer votre premier StyleBook. Copiez et collez le contenu du StyleBook dans un éditeur de texte, puis enregistrez le fichier sous lenom lb-vserver.yaml. Citrix vous recommande d’utiliser le validateur YAML intégré dans StyleBooks pour valider et importer le contenu YAML.
Le contenu complet du fichier lb-vserver.yaml est reproduit ci-dessous :
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
Pour commencer à utiliser votre StyleBook pour créer des configurations, vous devez l’importer dans NetScaler ADM, puis l’utiliser. Pour plus d’informations, consultezComment utiliser des StyleBooks définis par l’utilisateur.
Vous pouvez également importer ce StyleBook dans d’autres StyleBooks (à l’aide de la construction Import-Stylebooks). Vous pouvez également modifier ce StyleBook pour inclure plus de paramètres et de composants comme décrit dans la section suivante.