Crear un StyleBook compuesto
Una función importante y poderosa de StyleBooks es que se pueden usar como bloques de construcción para otros StyleBooks. Se puede importar un StyleBook a otro StyleBook y se le puede denominar como el tipo que utilizan los componentes del segundo StyleBook, de forma similar a un StyleBook integrado en Nitro.
Por ejemplo, puede usar el StyleBookbasic-lb-configque creaste en la sección anterior para crear otro StyleBook llamado composite-example. Para usar el StyleBook “basic-lb-config”, debe importarlo al nuevo StyleBook en la sección de importación de libros de estilo.
Crea su StyleBook
El nuevo StyleBook se vería de la siguiente manera:
name: composite-example
namespace: com.example.stylebooks
version: "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.config
version: "10.5"
prefix: ns
-
namespace: com.example.stylebooks
version: "0.1"
prefix: stlb
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: svc-servers
type: ipaddress[]
label: Application Server IPs
description: The IP addresses of all the servers of this application
required: true
-
name: response-code
type: string[]
label: List of Response Codes
description: List of Response Codes - Provide a list of response codes in integer.
components:
-
name: basic-lb-comp
type: stlb::basic-lb-config
description: This component's type is another StyleBook that builds the NetScaler lbvserver, servicegroups and services configuration objects.
properties:
name: $parameters.name
ip: $parameters.ip
svc-servers: $parameters.svc-servers
-
name: monit-comp
type: ns::lbmonitor
description: This component is a basic Nitro type (a Builtin StyleBook) that builds the NetScaler monitor configuration object.
properties:
monitorname: $parameters.name + "-mon"
type: HTTP
respcode: $parameters.response-code
httprequest: "'GET /'"
lrtm: ENABLED
secure: "YES"
components:
-
name: monit-svcgrp-bind-comp
type: ns::servicegroup_lbmonitor_binding
properties:
servicegroupname: $components.basic-lb-comp.outputs.servicegroup-comp.properties.servicegroupname
monitor_name: $parent.properties.monitorname
<!--NeedCopy-->
En la sección Import-stylebooks, se importa el StyleBook basic-lb-config utilizando su espacio de nombres y su versión, denominados con el prefijo “stlb”.
En la sección de componentes, se definen dos componentes. El primer componente es de tipo stlb::basic-lb-config, donde “basic-lb-config” es el nombre del StyleBook que creó en StyleBook para crear una configuración básica de equilibrio de carga. Las propiedades definidas para este componente corresponden a los parámetros obligatorios declarados en el StyleBook basic-lb-config. Sin embargo, puede utilizar cualquier parámetro del StyleBook (obligatorio y opcional). En lugar de volver a crear un lbvserver, un grupo de servicios y los enlaces de servicios y grupos de servicios, importa el StyleBook que hace todo esto como un componente y lo usa para crear estos objetos de configuración en el nuevo StyleBook.
StyleBook agrega un segundo componente, “monit-comp”, que utiliza los atributos del recurso “lbmonitor” de Nitro (un StyleBook integrado) para crear un objeto de configuración de monitor. También tiene un subcomponente “monit-svcgrp-bind-comp” para crear el objeto de configuración de enlace que vincula el monitor al grupo de servicios creado en el primer componente. Como el componente servicegroup creado en el StyleBook “basic-lb-config” se expone como salida, este StyleBook puede acceder a él mediante la expresión $components.basic-lb-comp.outputs.servicegroup-comp. Este es un ejemplo de cómo la sección de salidas puede ser utilizada por los StyleBooks importadores para tener acceso a los componentes de los StyleBooks importados a los que no habrían podido acceder de otro modo.
A continuación, copie y pegue el contenido de StyleBook en un editor de texto y, a continuación, guarde el archivo como composite-example.yaml. Asegúrese de validar el contenido de YAML antes de importar el archivo en NetScaler ADM. A continuación, impórtelo a NetScaler ADM y cree una o varias configuraciones con este StyleBook.
Citrix recomienda utilizar el validador YAML integrado en StyleBooks para validar e importar el contenido YAML.