Configuration de StyleBook
Merci pour vos commentaires

Ce article a été traduit automatiquement. (Clause de non responsabilité)

StyleBook pour créer une configuration d’équilibrage de charge de base

Dans cette section, vous concevez un StyleBook qui crée une configuration d’équilibrage de charge qui inclut un serveur virtuel d’équilibrage de charge, un groupe de services et une liste de services. Le StyleBook lie les services au groupe de services et lie le groupe de services au serveur virtuel.

Pour créer une configuration d’équilibrage de charge de base, utilisez l’exemple StyleBook, lb-vserver que vous avez créé dans StyleBook pour créer un serveur virtuel d’équilibrage de charge et enregistrez-le sous le nom basic-lb-config.yaml.

En-tête

Pour créer ce StyleBook, mettez à jour la section d’en-tête. Cette section est similaire à la section d’en-tête que vous avez créée dans StyleBook pour créer un serveur virtuel d’équilibrage de charge.

Changez la valeur du nom en basic-lb-config. Mettez à jour la description et le nom d’affichage pour décrire le StyleBook. Il n’est pas nécessaire de modifier l’espace de noms et les valeurs de version . Comme vous avez changé le nom, un identifiant unique pour ce StyleBook est créé dans le système.

name: basic-lb-config namespace: com.example.stylebooks version: "0.1" display-name: Load Balancing Configuration description: This StyleBook defines a simple load balancing configuration. schema-version: "1.0"

Importer des StyleBooks

La section import-stylebooks reste la même. Il fait référence à l’espace de noms netscaler.nitro.config pour utiliser les objets de configuration NITRO.

import-stylebooks: - namespace: netscaler.nitro.config prefix: ns version: "10.5"

Paramètres

Mettez à jour la section des paramètres pour ajouter deux paramètres supplémentaires.

Les paramètres définissent la liste des services ou des serveurs et le port sur lequel les services écoutent. Les trois premiers paramètres name, ipet lb-algrestent les mêmes.

parameters: - name: name type: string label: Application Name description: Give a name to the application configuration. required: true - name: ip type: ipaddress label: Application Virtual IP (VIP) description: The Application VIP that clients access required: true - name: lb-alg type: string label: LoadBalancing Algorithm description: Choose the loadbalancing algorithm (method) used for loadbalancing client requests between the application servers. allowed-values: - ROUNDROBIN - LEASTCONNECTION default: ROUNDROBIN - name: svc-servers type: ipaddress[] label: Application Server IPs description: The IP addresses of all the servers of this application required: true - name: svc-port type: tcp-port label: Server Port description: The TCP port open on the application servers to receive requests. default: 80

Le paramètre svc-serversest ajouté pour accepter une liste d’adresses IP des serveurs principaux de l’application. svc-servers est un paramètre obligatoire, comme l’indique required : true.

Le deuxième paramètre, svc-port, indique le numéro de port sur lequel les serveurs écoutent. Le numéro de port par défaut est 80 sauf indication contraire de l’utilisateur.

Composants

Vous devez également mettre à jour la section des composants pour définir d’autres composants de manière à ce qu’ils utilisent les deux nouveaux paramètres et à créer la configuration complète d’équilibrage de charge.

Pour cet exemple, vous devez écrire la section des composants comme suit :

components: - name: lbvserver-comp type: ns::lbvserver properties: name: $parameters.name + "-lb" servicetype: HTTP ipv46: $parameters.ip port: 80 lbmethod: $parameters.lb-alg components: - name: svcg-comp type: ns::servicegroup properties: name: $parameters.name + "-svcgrp" servicetype: HTTP components: - name: lbvserver-svg-binding-comp type: ns::lbvserver_servicegroup_binding properties: name: $parent.parent.properties.name servicegroupname: $parent.properties.name - name: members-svcg-comp type: ns::servicegroup_servicegroupmember_binding repeat: $parameters.svc-servers repeat-item: srv properties: ip: $srv port: str($parameters.svc-port) servicegroupname: $parent.properties.name

Dans cet exemple, le composant d’origine lbvserver-comp (de l’exemple précédent) possède désormais un composant enfant appelé svcg-comp. Le composant svcg-comp contient également deux composants enfants. L’imbrication d’un composant dans un autre composant permet au composant imbriqué de créer des objets de configuration en se référant aux attributs du composant parent. Le composant imbriqué peut créer un ou plusieurs objets pour chaque objet créé dans le composant parent.

Le composant svcg-comp est utilisé pour créer un groupe de services sur l’instance NetScaler en utilisant les valeurs fournies pour les attributs de la ressource. servicegroup Dans cet exemple, vous spécifiez la valeur statique de servicetype, tandis que name obtient sa valeur à partir du paramètre d’entrée. Reportez-vous au nom du paramètre défini dans la section des paramètres en utilisant la notation $parameters.name + « -svcgrp », où « -svcgrp » est ajouté (concaténé) au nom défini par l’ utilisateur .

Le composant svcg-comp a deux composants enfants, lbvserver-svg-binding-comp et members-svcg-comp.

Le premier composant enfant, lbvserver-svg-binding-comp, est utilisé pour lier un objet de configuration entre le groupe de services créé par son composant parent et le serveur virtuel d’équilibrage de charge (lbvserver) créé par le composant parent du parent. La notation $parent, également appelée référence parente, est utilisée pour faire référence aux entités dans les composants parents. Par exemple, servicegroupname : $parent.properties.name fait référence au groupe de services créé par le composant parent svcg-comp, et name : $parent.parent.properties.name fait référence au serveur virtuel créé par le composant parent lbvserver-compdu parent.

Le composant members-svcg est utilisé pour lier des objets de configuration entre la liste des services au groupe de services créé par le composant parent. La création d’objets de configuration de liaison est réalisée en utilisant la construction de répétition de StyleBook pour parcourir la liste des serveurs spécifiée dans le paramètre svc-servers. Au cours de l’itération, ce composant StyleBook crée un objet de configuration NITRO de type servicegroup_servicegroupmember_binding pour chaque service (appelé srv dans la construction repeat-item) du groupe de services, et il définit l’attribut ip dans chaque Objet de configuration NITRO à l’adresse IP du serveur correspondant.

En règle générale, vous pouvez utiliser les constructions **repeat et repeat-itemdans un composant pour que celui-ci crée plusieurs objets de configuration du même type. Vous pouvez attribuer un nom de variable à la construction d’élément répété, par exemple srv, pour désigner la valeur actuelle dans l’itération. Ce nom de variable est mentionné dans les propriétés du même composant ou dans les composants enfants comme$<varname>**, par exemple, $srv.

Dans l’exemple précédent, l’imbrication des composants permet de construire facilement la configuration. Vous pouvez également créer la configuration sans imbriquer, comme illustré dans l’exemple suivant :

components: - name: lbvserver-comp type: ns::lbvserver properties: name: $parameters.name + "-lb" servicetype: HTTP ipv46: $parameters.ip port: 80 lbmethod: $parameters.lb-alg - name: svcg-comp type: ns::servicegroup properties: servicegroupname: $parameters.name + "-svcgrp" servicetype: HTTP - name: lbvserver-svg-binding-comp type: ns::lbvserver_servicegroup_binding properties: name: $components.lbvserver-comp.properties.name servicegroupname: $components.svcg-comp.properties.servicegroupname - name: members-svcg-comp type: ns::servicegroup_servicegroupmember_binding repeat: $parameters.svc-servers repeat-item: srv properties: ip: $srv port: 80 servicegroupname: $components.svcg-comp.properties.servicegroupname

Ici, même si les composants ne sont pas imbriqués, la configuration NetScaler générée est la même que celle des composants imbriqués utilisés précédemment.

L’ordre dans lequel les composants sont déclarés dans le StyleBook n’a aucune incidence sur l’ordre de création des objets de configuration. Dans cet exemple, les composants svcg-comp et lbvserver-comp, même s’ils ont été déclarés en dernier, doivent être construits avant de créer le second composant lbvserver-svg-binding-comp car le second composant contient des références directes à ces composants.

Remarque

Par convention, les noms des StyleBooks, des paramètres, des substitutions, des composants et des sorties sont en minuscules. Lorsqu’ils contiennent de nombreux mots, ils sont séparés par un caractère « - ». Par exemple lb-bindings, app-name, rewrite-config, et ainsi de suite. Une autre convention consiste à suffixe les noms de composants avec une chaîne -comp.

Sorties

Dans cette section, vous devez spécifier ce que le StyleBook expose aux utilisateurs (ou dans d’autres StyleBooks) après avoir créé une configuration. Par exemple, vous pouvez spécifier d’exposer lbvserver les objets servicegroup de configuration créés par ce StyleBook.

outputs: - name: lbvserver-comp value: $components.lbvserver-comp description: The component that builds the Nitro lbvserver configuration object - name: servicegroup-comp value: $components.svcg-comp description: The component that builds the Nitro servicegroup configuration object

La section des sorties d’un StyleBook est facultative. Un StyleBook n’a pas besoin de renvoyer des sorties. Cependant, en renvoyant certains composants internes sous forme de sorties, cela permet à tous les StyleBooks qui importent ce StyleBook d’avoir plus de flexibilité. Cette fonctionnalité est utile lors de la création d’un StyleBook composite.

Remarque

Il est recommandé d’exposer un composant entier du StyleBook dans la section des sorties, plutôt qu’une seule propriété d’un composant (par exemple, exposer l’ensemble de $components.lbvserver-comp plutôt que simplement le nom, $components.lbvserver-comp.properties.name ). Ajoutez également une description à la sortie expliquant ce que représente la sortie spécifique.

Créez votre StyleBook

Maintenant que vous avez défini toutes les sections requises de ce StyleBook, regroupez-les toutes pour créer votre second StyleBook. Vous avez déjà enregistré ce fichier StyleBook en tant que basic-lb-config.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 basic-lb-config.yaml est reproduit comme suit :

name: basic-lb-config namespace: com.example.stylebooks version: "0.1" display-name: Load Balancing Configuration description: This StyleBook defines a simple load balancing configuration. schema-version: "1.0" import-stylebooks: - namespace: netscaler.nitro.config version: "10.5" prefix: ns parameters: - name: name type: string label: Application Name description: Give a name to the application configuration. required: true - name: ip type: ipaddress label: Application Virtual IP (VIP) description: The Application VIP that clients access required: true - name: lb-alg type: string label: LoadBalancing Algorithm description: Choose the loadbalancing algorithm (method) used for loadbalancing client requests between the application servers. allowed-values: - ROUNDROBIN - LEASTCONNECTION default: ROUNDROBIN - name: svc-servers type: ipaddress[] label: Application Server IPs description: The IP addresses of all the servers of this application required: true - name: svc-port type: tcp-port label: Server Port description: The TCP port open on the application servers to receive requests. default: 80 components: - name: lbvserver-comp type: ns::lbvserver properties: name: $parameters.name + "-lb" servicetype: HTTP ipv46: $parameters.ip port: 80 lbmethod: $parameters.lb-alg - name: svcg-comp type: ns::servicegroup properties: servicegroupname: $parameters.name + "-svcgrp" servicetype: HTTP - name: lbvserver-svg-binding-comp type: ns::lbvserver_servicegroup_binding properties: name: $components.lbvserver-comp.properties.name servicegroupname: $components.svcg-comp.properties.servicegroupname - name: members-svcg-comp type: ns::servicegroup_servicegroupmember_binding repeat: $parameters.svc-servers repeat-item: srv properties: ip: $srv port: 80 servicegroupname: $components.svcg-comp.properties.servicegroupname outputs: - name: lbvserver-comp value: $components.lbvserver-comp description: The component that builds the Nitro lbvserver configuration object - name: servicegroup-comp value: $components.svcg-comp description: The component that builds the Nitro servicegroup configuration object

Pour commencer à utiliser votre StyleBook pour créer des configurations, vous devez l’importer dans NetScaler Console, puis l’utiliser. Pour plus d’informations, consultez Comment utiliser des StyleBooks définis par l’utilisateur.

Vous pouvez également importer ce StyleBook dans d’autres StyleBooks et utiliser ses propriétés comme décrit dans la section suivante.

La version officielle de ce document est en anglais. Certains contenus de la documentation Cloud Software Group ont été traduits de façon automatique à des fins pratiques uniquement. Cloud Software Group n'exerce aucun contrôle sur le contenu traduit de façon automatique, qui peut contenir des erreurs, des imprécisions ou un langage inapproprié. Aucune garantie, explicite ou implicite, n'est fournie quant à l'exactitude, la fiabilité, la pertinence ou la justesse de toute traduction effectuée depuis l'anglais d'origine vers une autre langue, ou quant à la conformité de votre produit ou service Cloud Software Group à tout contenu traduit de façon automatique, et toute garantie fournie en vertu du contrat de licence de l'utilisateur final ou des conditions d'utilisation des services applicables, ou de tout autre accord avec Cloud Software Group, quant à la conformité du produit ou service à toute documentation ne s'applique pas dans la mesure où cette documentation a été traduite de façon automatique. Cloud Software Group ne pourra être tenu responsable de tout dommage ou problème dû à l'utilisation de contenu traduit de façon automatique.
StyleBook pour créer une configuration d’équilibrage de charge de base