Créer un StyleBook composite
Une caractéristique importante et puissante de StyleBooks est qu’ils peuvent être utilisés comme blocs de construction pour d’autres StyleBooks. Un StyleBook peut être importé dans un autre StyleBook et peut être désigné comme untypeutilisé par les composants du second StyleBook similaire à un StyleBook intégré NITRO.
Par exemple, vous pouvez utiliser leBasic-lb-configStyleBook que vous avez créé dans la section précédente, pour créer un autre StyleBook appelécomposite-example. Pour utiliser le StyleBook « basic-lb-config », vous devez l’importer dans le nouveau StyleBook dans la section import-stylebooks.
Créez votre StyleBook
Le nouveau StyleBook se présente comme suit :
name:composite-examplenamespace:com.example.stylebooksversion:"0.1"display-name:Load Balancing Virtual Server (HTTP/RoundRobin)描述: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 Name描述:Give a name to the application configuration.required:true-name:iptype:ipaddresslabel:Application Virtual IP (VIP)描述:The Application VIP that clients accessrequired:true-name:svc-serverstype:ipaddress[]label:Application Server IPs描述:The IP addresses of all the servers of this applicationrequired:true-name:response-codetype:string[]label:List of Response Codes描述:List of Response Codes - Provide a list of response codes in integer.components:-name:basic-lb-comptype:stlb::basic-lb-config描述: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::lbmonitor描述:This component is a basic Nitro type (a Builtin StyleBook) 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
Dans la section import-stylebooks, vous importez le styleBook basic-lb-config à l’aide de son espace de noms et de sa version, auxquels il est fait référence avec le préfixestlb
.
Dans la section Composants, deux composants sont définis. Le premier composant est de typestlb : :basic-lb-config,或者«basic-lb-config»le nom du StyleBook que vous avez créé dansStyleBook pour créer une configuration d’équilibrage de charge de base. Les propriétés définies pour ce composant correspondent aux paramètres obligatoires déclarés dans le StyleBook basic-lb-config. Vous pouvez cependant utiliser n’importe quel paramètre du StyleBook (obligatoire et facultatif). Au lieu de recréer unlbvserver
, un groupe de services et des liaisons de service et de groupe de services, vous importez le StyleBook qui fait tout cela en tant que composant et vous l’utilisez pour créer ces objets de configuration dans le nouveau StyleBook.
StyleBook ajoute un deuxième composantmonit-comp
qui utilise les attributs de la ressource NITROlbmonitor
(un StyleBook intégré) pour créer un objet de configuration de moniteur. Il dispose également d’un sous-composantmonit-svcgrp-bind-comp
pour créer l’objet de configuration de liaison qui lie le moniteur à l’servicegroup
créé dans le premier composant. Étant donné que leservicegroup
composant créé dans le « basic-lb-config » StyleBook est exposé comme une sortie, ce StyleBook peut y accéder en utilisant l’expression$components.basic-lb-comp.outputs.servicegroup-comp. Ceci est un exemple de la façon dont la section des sorties peut être utilisée par les StyleBooks d’importation pour avoir accès aux composants des StyleBooks importés auxquels ils n’auraient pas pu accéder autrement.
Ensuite, copiez et collez le contenu du StyleBook dans un éditeur de texte, puis enregistrez le fichier sous lenom composite-example.yaml. Assurez-vous de valider le contenu YAML avant d’importer le fichier dans Citrix ADM. Ensuite, importez-le dans Citrix ADM et créez une ou plusieurs configurations à l’aide de ce StyleBook.
Citrix vous recommande d’utiliser le validateur YAML intégré dans StyleBooks pour valider et importer le contenu YAML.