Configuración de StyleBook

Usar API para crear configuraciones a partir de StyleBooks

Una vez creado el StyleBook, debe importarlo a NetScaler Console para usarlo mediante la consola de NetScaler o mediante las API de la consola de NetScaler. NetScaler Console valida su StyleBook al importarlo y, si la validación se realiza correctamente, su StyleBook aparece en el catálogo de StyleBooks de NetScaler Console, listo para usarse para crear configuraciones.

Ahora puede usar las API de StyleBook para crear configuraciones basadas en este StyleBook. Puede utilizar cualquier herramienta, como la herramienta de línea de comandos cURL o la extensión Postman para el navegador Chrome, para enviar solicitudes HTTP a NetScaler Console.

Nota:

Las API de StyleBooks están completamente documentadas mediante la especificación OpenAPI del portal para desarrolladores (enlace a los documentos de desarrollo).

Ejemplo 1

Considere el lb-vserver StyleBook creado en StyleBook para crear un servidor virtual de equilibrio de carga. Utilice las siguientes API REST para crear un paquete de configuración a partir de este StyleBook:

Método HTTP: POST

URL: https://<ADM-agent-DNS-or-IP>/stylebook/nitro/v2/config/stylebooks/com.example.stylebooks/0.1/lb-vserver/configpacks

Encabezados de SOLICITUD:

Tipo de contenido: application/json

Aceptar: application/json

CARGA ÚTIL DEL CUERPO DE LA SOLICITUD:

{
  "configpack":
  {
    "parameters": {
      "name": "lb1",
      "ip": "10.102.117.31"
    },
    "targets":
    [
      {
        "id": "deecee30-f478-4446-9741-a85041903410"
      }
    ]
  }
}
<!--NeedCopy-->

En esta solicitud HTTP, el identificador (por ejemplo, “deecee30-f478-4446-9741-a85041903410”) es el ID de instancia de NetScaler en la que se crea el servidor virtual de equilibrio de carga lb1 con la dirección IP 10.102.117.31. El ID de instancia de la instancia de NetScaler se recupera de NetScaler Console.

Para obtener el ID de una instancia administrada por NetScaler Console, puede usar las API de NetScaler Console. Por ejemplo, para recuperar el identificador de instancia o una instancia de NetScaler cuya dirección IP es 192.168.153.160, puede utilizar la siguiente API:

MÉTODO HTTP: GET

URL: https://<IP>/nitro/v2/config/ns?filter=ip_address:192.168.153.160

ENCABEZADOS DE SOLICITUD:

Aceptar: application/json

La respuesta contiene el ID en la carga de json:

ENCABEZADOS DE RESPUESTA ESPERADA (en caso de éxito):

200 OK

Tipo de contenido: application/json

CUERPO DE RESPUESTA ESPERADA (en caso de éxito):

{
  "errorcode": 0,
  "message": "Done",
  "operation": "get",
  "resourceType": "ns",
  "username": "nsroot",
  "tenant_name": "Owner",
  "resourceName": "",
  "ns":
  [
    {
    "is_grace": "false",
    "hostname": "",
    "std_bw_config": "0",
    "gateway_deployment": "false",
    "id": "deecee30-f478-4446-9741-a85041903410",
   }
 ]
}
<!--NeedCopy-->

Si la configuración (paquete de configuración) se ha creado correctamente, recibirá la siguiente respuesta HTTP:

ENCABEZADOS DE RESPUESTA ESPERADA (en caso de éxito):

200 OK

Tipo de contenido: application/json

CUERPO DE RESPUESTA ESPERADA (en caso de éxito):

{
  "configpack":
  {
    "config_id": "1460806080"
  }
}
<!--NeedCopy-->

Ha creado su primera configuración (paquete de configuración) que se identifica de forma única mediante el id 1460806080. Puede utilizar este ID para consultar, actualizar o eliminar la configuración.

Ejemplo 2

Puede utilizar el mismo StyleBook para crear otro paquete de configuración o configuración y ejecutarlo en las mismas instancias de NetScaler o diferentes. En este ejemplo, cree otra configuración y proporcione un nombre y una dirección IP diferentes para el servidor virtual y también especifique LEASTCONNECTION como método de equilibrio de carga. Implemente esta configuración en dos instancias de NetScaler.

La solicitud HTTP es la siguiente:

Método HTTP: POST

URL: https://<DNS-or-IP>/stylebook/nitro/v2/config/stylebooks/com.example.stylebooks/0.1/lb-vserver/configpacks

ENCABEZADOS DE SOLICITUD:

Tipo de contenido: application/json

Aceptar: application/json

CARGA ÚTIL DEL CUERPO DE LA SOLICITUD:

{
  "configpack":
  {
    "parameters":
    {
      "name": "lb2",
      "ip": "10.102.117.32",
      "lb-alg": "LEASTCONNECTION"
    },
    "targets"
    [
     {"id": "deecee30-f478-4446-9741-a85041903410"},
     {"id": "debecc60-d589-4557-8632-a74032802412"}
    ]
  }
}
<!--NeedCopy-->

En esta solicitud HTTP, el servidor virtual de equilibrio de carga lb2 con la dirección IP 10.102.117.32 se crea en las dos instancias NetScaler representadas por los identificadores “deecee30-f478-4446-9741-a85041903410” y “debecc60-d589-4557-8632-a74032802412”.

Al crear correctamente el paquete de configuración, se recibe la siguiente respuesta HTTP:

ENCABEZADOS DE RESPUESTA ESPERADA (en caso de éxito):

200 OK

Tipo de contenido: application/json

CUERPO DE RESPUESTA ESPERADA (en caso de éxito):

{
   "configpack":
  {
     "config_id": "1657696292"
  }
}
<!--NeedCopy-->

Este nuevo paquete de configuración tiene un ID diferente 165769629. Puede actualizar o eliminar esta configuración mediante este id.

Ejemplo 3

Considere el StyleBook “basic-lb-config” que ha creado en StyleBook para crear una configuración básica de equilibrio de carga. Utilice la API REST para crear un paquete de configuración a partir de este StyleBook de la siguiente manera:

Método HTTP: POST

URL: http://<DNS-or-IP>/stylebook/nitro/v2/config/stylebooks/com.example.stylebooks/0.1/basic-lb-config/configpacks

ENCABEZADOS DE SOLICITUD:

Tipo de contenido: application/json

Aceptar: application/json

ENCABEZADOS DE RESPUESTA ESPERADA (en caso de éxito):

200 OK

Tipo de contenido: application/json

CUERPO DE RESPUESTA ESPERADA (en caso de éxito):

{
  "configpack":
  {
    "parameters":
    {
      "name": "myapp",
      "ip": "10.70.122.25",
      "svc-servers": ["192.168.100.11","192.168.100.12"],
       "svc-port": 8080
    },
    "targets":
    [
     {
      "id": "deecee30-f478-4446-9741-a85041903410"
     },
     {
      "id": "debecc60-d589-4557-8632-a74032802412"
     }
    ]
  }
}
<!--NeedCopy-->

En esta solicitud HTTP, la configuración de equilibrio de carga se ejecutará en dos instancias de NetScaler. Puede iniciar sesión en estas instancias de NetScaler para comprobar si se crean un servidor virtual y un grupo de servicios con dos servicios enlazados.

Ejemplo 4

Considere el ejemplo compuesto de StyleBook que creó en Crear un StyleBook compuesto. Utilice las API REST para crear un paquete de configuración a partir de este StyleBook de la siguiente manera:

Método HTTP: POST

URL: http://<DNS-or-IP>/stylebook/nitro/v2/config/stylebooks/com.example.stylebooks/0.1/composite-example/configpacks

ENCABEZADOS DE SOLICITUD:

Tipo de contenido: application/json

Aceptar: application/json

CARGA ÚTIL DEL CUERPO DE LA SOLICITUD:

{
  "configpack":
  {
    "parameters": {
      "name": "myapp",
      "ip": "2.2.2.2",
      "svc-servers": ["10.102.29.52","10.102.29.53"]
    },
    "targets":
    [
     {
      "id": "deecee30-f478-4446-9741-a85041903410"
     },
     {
      "id": "debecc60-d589-4557-8632-a74032802412"
     }
    ]
  }
}
<!--NeedCopy-->

En esta solicitud HTTP, la configuración se crea en dos instancias de NetScaler representadas por sus identificadores. Si inicia sesión en las instancias NetScaler, puede ver los objetos de configuración creados por el StyleBook “basic-lb-config” que se importó en el StyleBook “composite-example”. También puede ver un nuevo monitor HTTP llamado myapp-mon que formaba parte del «ejemplo compuesto» StyleBook.

Al crear correctamente el paquete de configuración, se recibe la siguiente respuesta HTTP:

ENCABEZADOS DE RESPUESTA ESPERADA (en caso de éxito):

200 OK

Tipo de contenido: application/json

CUERPO DE RESPUESTA ESPERADA (en caso de éxito):

{
  "configpack": {
    "config_id": "4917276817"
  }
}
<!--NeedCopy-->

Actualización de una configuración

Para actualizar la configuración, puede utilizar la siguiente API. Aquí, se agrega un servidor de fondo con la dirección IP 10.102.29.54 al servidor virtual de equilibrio de carga `myapp:

Método HTTP: PUT

URL: http://<DNS-or-IP>/stylebook/nitro/v2/config/stylebooks/com.example.stylebooks/0.1/composite-example/configpacks/4917276817

ENCABEZADOS DE SOLICITUD:

Tipo de contenido: application/json

Aceptar: application/json

CARGA ÚTIL DEL CUERPO DE LA SOLICITUD:

{
  "configpack": {
    "parameters": {
      "name": "myapp",
      "ip": "2.2.2.2",
      "svc-servers": ["10.102.29.52","10.102.29.53","10.102.29.54"]
  },
  "targets":
   [
     {
      "id": "deecee30-f478-4446-9741-a85041903410"
     },
     {
      "id": "debecc60-d589-4557-8632-a74032802412"
     }
   ]
  }
}
<!--NeedCopy-->

Al actualizar correctamente el paquete de configuración, se recibe la siguiente respuesta HTTP:

ENCABEZADOS DE RESPUESTA ESPERADA (en caso de éxito):

200 OK

Tipo de contenido: application/json

CUERPO DE RESPUESTA ESPERADA (en caso de éxito):

{
   "configpack": {
     "config-id": "4917276817"
  }
}
<!--NeedCopy-->

Eliminación de una configuración

Para eliminar esta configuración (de todas las instancias de NetScaler), puede utilizar la API para eliminar un paquete de configuración de la siguiente manera:

Al eliminar correctamente el paquete de configuración, se recibe la siguiente respuesta HTTP:

MÉTODO HTTP: ELIMINAR

URL: http://<DNS-or-IP>/stylebook/nitro/v2/config/stylebooks/com.example.stylebooks/0.1/composite-example/configpacks/4917276817

ENCABEZADOS DE SOLICITUD:

Aceptar: application/json

ENCABEZADOS DE RESPUESTA ESPERADA (en caso de éxito):

200 OK

Tipo de contenido: application/json

RESPUESTA PUNTADO (en caso de éxito):

{
   "configpack": {
     "config_id": "4917276817"
  }
}
<!--NeedCopy-->

Inicie sesión en la instancia de NetScaler y compruebe que se hayan eliminado todos los objetos de configuración que forman parte de este paquete de configuración.

Para eliminar la configuración de instancias específicas de NetScaler en lugar de todas las instancias, utilice la operación de actualización del paquete de configuración en Actualizar una configuración. Cambie el targets atributo de la carga JSON para eliminar los ID de instancia específicos de NetScaler.

Usar API para crear configuraciones a partir de StyleBooks