Configuración de StyleBook

Utilice las API para crear configuraciones a partir de StyleBooks

Una vez que haya creado su StyleBook, tendrá que importarlo mediante la GUI de NetScaler Console o mediante las API de NetScaler Console. NetScaler Console valida el StyleBook al importarlo. 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 utilizando la especificación OpenAPI en el portal para desarrolladores.

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://<IP>/stylebook/nitro/v2/config/configpacks

Encabezados de SOLICITUD:

Tipo de contenido: application/json

Aceptar: application/json

CARGA ÚTIL DEL CUERPO DE LA SOLICITUD:

{
  "configpack":
  {
    "parameters": {
      "name": "lb1",
      "vip-ipaddress": "10.102.117.31"
    },
    "targets":
    [
      {
        "instance_id": "deecee30-f478-4446-9741-a85041903410"
      }
    ],
    "stylebook": {
            "name": "lb-vserver",
            "namespace": "com.example.stylebooks",
            "version": "1.0"
        }
  }
}
<!--NeedCopy-->

En esta solicitud HTTP, el ID, deecee30-f478-4446-9741-a85041903410, es el ID de instancia de la 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 tiene el ID en la carga útil 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):

202 OK

Tipo de contenido: application/json

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

{
  "job":
  {
    "job_id": "1460806080"
  }
}
<!--NeedCopy-->

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

Puede usar la siguiente URL para consultar el estado del trabajo:

https://<IP>/stylebook/nitro/v2/config/jobs/<jobid>

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. 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://<IP>/stylebook/nitro/v2/config/configpacks

ENCABEZADOS DE SOLICITUD:

Tipo de contenido: application/json

Aceptar: application/json

CARGA ÚTIL DEL CUERPO DE LA SOLICITUD:

{
  "configpack":
  {
    "parameters": {
      "name": "lb1",
      "vip-ipaddress": "10.102.117.31",
      "lb-alg": "LEASTCONNECTION"
    },
    "targets":
    [
      {
        "instance_id": "deecee30-f478-4446-9741-a85041903410"
      },
      {
        "instance_id": "abcdee30-f478-4446-9741-a85041903410"
      }
    ],
    "stylebook": {
            "name": "lb-vserver",
            "namespace": "com.example.stylebooks",
            "version": "1.0"
        }
  }
}
<!--NeedCopy-->

En esta solicitud HTTP, se crea el servidor virtual de equilibrio de carga lb1 con la dirección IP 10.102.117.31 en las dos instancias de NetScaler con los ID «deecee30-f478-4446-9741-a85041903410” y «abcdee30-f478-4446-9741-a85041903410”.

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

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

202 OK

Tipo de contenido: application/json

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

{
    "job": {
        "job_id": "165769629"
    }
}
<!--NeedCopy-->

Este nuevo paquete de configuración tiene un identificador diferente, 165769629. Puede actualizar o eliminar esta configuración con este identificador.

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: https://<IP>/stylebook/nitro/v2/config/configpacks

ENCABEZADOS DE SOLICITUD:

Tipo de contenido: application/json

Aceptar: application/json

CARGA ÚTIL DEL CUERPO DE LA SOLICITUD:

{
  "configpack":
  {
    "parameters":
    {
      "name": "myapp",
      "ip": "10.70.122.25",
      "svc-servers": ["192.168.100.11","192.168.100.12"],
       "svc-port": 8080
    },
    "targets":
    [
     {
      "instance_id": "deecee30-f478-4446-9741-a85041903410"
     },
     {
      "instance_id": "abcdefgi-d589-4557-8632-a74032802412"
     }
    ],
    "stylebook": {
            "name": "basic-lb-config",
            "namespace": "com.example.stylebooks",
            "version": "0.1"
        }
  }
}
<!--NeedCopy-->

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

202 OK

Tipo de contenido: application/json

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

{
    "job": {
        "job_id": "3628681382"
    }
}
<!--NeedCopy-->

En esta solicitud HTTP, la configuración de equilibrio de carga se ejecuta 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: https://<IP>/stylebook/nitro/v2/config/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": "abcdefgg-d589-4557-8632-a74032802412"
     }
    ],
    "stylebook": {
            "name": "composite-example",
            "namespace": "com.example.stylebooks",
            "version": "0.1"
        }
  }
<!--NeedCopy-->

En esta solicitud HTTP, la configuración se crea en dos instancias de NetScaler representadas por sus ID. 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):

202 OK

Tipo de contenido: application/json

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

{
    "job": {
        "job_id": "3628681382"
    }
}
<!--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: https://<IP>/stylebook/nitro/v2/config/configpacks/<configpackid>

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":
   [
     {
      "instance_id": "deecee30-f478-4446-9741-a85041903410"
     },
     {
      "instance_id": "abdcedff-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):

202 OK

Tipo de contenido: application/json

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

{
    "job": {
        "job_id": "3628681382"
    }
}
<!--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: https://<DNS-or-IP>//stylebook/nitro/v2/config/configpacks/<configpackid>

ENCABEZADOS DE SOLICITUD:

Aceptar: application/json

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

202 OK

Tipo de contenido: application/json

RESPUESTA PUNTADO (en caso de éxito):

{
    "job": {
        "job_id": "3628681382"
    }
}
<!--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.

Utilice las API para crear configuraciones a partir de StyleBooks