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. Un StyleBook se puede importar a otro StyleBook y se puede denominar un tipo utilizado por componentes del segundo StyleBook similar a un StyleBook integrado NITRO.
Por ejemplo, puede usar el StyleBook basic-lb-config que creó 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, puede importar basic-lb-config StyleBook utilizando su espacio de nombres y su versión, a los que se hace referencia 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 (tanto obligatorio como opcional). En lugar de volver a crear un lbvserver
, un grupo de servicios y enlaces de grupo de servicios y servicios, debe importar el StyleBook que hace todo esto como componente y utilizarlo para crear estos objetos de configuración en el nuevo StyleBook.
StyleBook agrega un segundo componente monit-comp
que utiliza los atributos del recurso NITRO lbmonitor
(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 enlaza el monitor con el servicegroup
creado en el primer componente. Dado que el servicegroup
componente creado en el StyleBook «basic-lb-config» se expone como una salida, este StyleBook puede acceder a él utilizando 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 Console. A continuación, impórtelo a NetScaler Console 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.