Adición de un grupo de servidores de backend
Función
Esta API se utiliza para agregar un grupo de servidores backend. Después de agregar múltiples servidores backend a un grupo de servidores backend, las solicitudes se distribuyen entre servidores backend basándose en el algoritmo de equilibrio de carga configurado para el grupo de servidores backend y el conjunto de pesos para cada servidor backend.
Restricciones
- Si el parámetro session-persistence está configurado, el parámetro cookie_name solo está disponible cuando el valor de type es APP_COOKIE.
URI
POST /v2.0/lbaas/pools
Solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
pool |
Sí |
Object |
Especifica el grupo de servidores backend. Para más detalles, consulte Tabla 2. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
tenant_id |
No |
String |
Especifica el ID del proyecto en el que se utiliza el grupo de servidores backend. El valor debe ser el mismo que el valor de project_id en el token. El valor contiene un máximo de 255 caracteres. |
project_id |
No |
String |
Especifica el ID del proyecto al que pertenece el grupo de servidores backend. Este parámetro tiene el mismo significado que tenant_id. El valor debe ser el mismo que el valor de project_id en el token. |
name |
No |
String |
Especifica el nombre del grupo de servidores backend. El valor contiene un máximo de 255 caracteres. |
description |
No |
String |
Proporciona información adicional sobre el grupo de servidores backend. El valor contiene un máximo de 255 caracteres. |
protocol |
Sí |
String |
Especifica el protocolo que utiliza el grupo de servidores backend para recibir solicitudes. Se admiten TCP, UDP y HTTP. Cuando un grupo de servidores backend está asociado con un oyente, las relaciones entre el protocolo utilizado por el oyente y el protocolo del grupo de servidores backend son las siguientes:
|
lb_algorithm |
Sí |
String |
Especifica el algoritmo de equilibrio de carga del grupo de servidores backend.
El valor puede ser uno de los siguientes:
Cuando el valor es SOURCE_IP, los pesos de los servidores backend del grupo de servidores no son válidos. |
admin_state_up |
No |
Boolean |
Especifica el estado administrativo del grupo de servidores backend. Este parámetro está reservado y el valor predeterminado es true. |
listener_id |
No |
String |
Especifica el ID del oyente asociado al grupo de servidores backend. Especifique listener_id o loadbalancer_id, o ambos. |
loadbalancer_id |
No |
String |
Especifica el ID del balanceador de carga asociado al grupo de servidores backend. Especifique listener_id o loadbalancer_id, o ambos. |
session_persistence |
No |
Object |
Especifica la duración del tiempo de espera de la sesión adhesiva en minutos. Para más detalles, consulte Tabla 3. Si el valor es null, la función de sesión adhesiva está deshabilitada. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
type |
Sí |
String |
Especifica el tipo de sesión adhesiva.
El valor puede ser uno de los siguientes:
Cuando el protocolo del grupo de servidores backend es TCP, solo SOURCE_IP tiene efecto. Cuando el protocolo del grupo de servidores backend es HTTP, solo tiene efecto HTTP_COOKIE o APP_COOKIE. |
cookie_name |
No |
String |
Especifica el nombre de la cookie. Este parámetro es obligatorio cuando el tipo de sesión sticky es APP_COOKIE. |
persistence_timeout |
No |
Integer |
Especifica la duración del tiempo de espera de la sesión adhesiva en minutos. Este parámetro no es válido cuando type se establece en APP_COOKIE.
El rango de valores varía dependiendo del protocolo del grupo de servidores backend:
|
Respuesta
Parámetro |
Tipo |
Descripción |
---|---|---|
pool |
Object |
Especifica el grupo de servidores backend. Para más detalles, consulte Tabla 5. |
Parámetro |
Tipo |
Descripción |
---|---|---|
id |
String |
Especifica el ID del grupo de servidores backend. |
tenant_id |
String |
Especifica el ID del proyecto en el que se utiliza el grupo de servidores backend. El valor contiene un máximo de 255 caracteres. |
project_id |
String |
Especifica el ID del proyecto al que pertenece el grupo de servidores backend. Este parámetro tiene el mismo significado que tenant_id. |
name |
String |
Especifica el nombre del grupo de servidores backend. El valor contiene un máximo de 255 caracteres. |
description |
String |
Proporciona información adicional sobre el grupo de servidores backend. El valor contiene un máximo de 255 caracteres. |
protocol |
String |
Especifica el protocolo que utiliza el grupo de servidores backend para recibir solicitudes. Se admiten TCP, UDP y HTTP. Cuando un grupo de servidores backend está asociado con un oyente, las relaciones entre el protocolo utilizado por el oyente y el protocolo del grupo de servidores backend son las siguientes:
|
lb_algorithm |
String |
Especifica el algoritmo de equilibrio de carga del grupo de servidores backend.
El valor puede ser uno de los siguientes:
|
members |
Array |
Muestra los ID de los servidores backend del grupo de servidores backend. |
healthmonitor_id |
String |
Especifica el ID de la comprobación de estado configurada para el grupo de servidores backend. |
admin_state_up |
Boolean |
Especifica el estado administrativo del grupo de servidores backend. Este parámetro está reservado. El valor puede ser true o false.
|
listeners |
Array |
Muestra los ID de oyentes asociados con el grupo de servidores backend. |
loadbalancers |
Array |
Muestra los ID de los balanceadores de carga asociados con el grupo de servidores backend. |
session_persistence |
Object |
Especifica si se habilitarán las sesiones adhesivas. Para más detalles, consulte Tabla 9. Una vez habilitada la sesión adhesiva, las solicitudes del mismo cliente se envían al mismo servidor backend durante la sesión. Cuando se deshabilitan las sesiones adhesivas, el valor es null. |
Parámetro |
Tipo |
Descripción |
---|---|---|
id |
String |
Especifica el ID del servidor backend asociado. |
Parámetro |
Tipo |
Descripción |
---|---|---|
id |
String |
Especifica el ID del grupo de servidores backend asociado. |
Parámetro |
Tipo |
Descripción |
---|---|---|
id |
String |
Especifica el ID del balanceador de carga asociado. |
Parámetro |
Tipo |
Descripción |
---|---|---|
type |
String |
Especifica el tipo de sesión adhesiva.
El valor puede ser uno de los siguientes:
Cuando el protocolo del grupo de servidores backend es TCP, solo SOURCE_IP tiene efecto. Cuando el protocolo del grupo de servidores backend es HTTP, solo tiene efecto HTTP_COOKIE o APP_COOKIE. |
cookie_name |
String |
Especifica el nombre de la cookie. Este parámetro es obligatorio cuando el tipo de sesión sticky es APP_COOKIE. |
persistence_timeout |
Integer |
Especifica la duración del tiempo de espera de la sesión adhesiva en minutos. Este parámetro no es válido cuando type se establece en APP_COOKIE.
|
Ejemplo de la solicitud
- Ejemplo de solicitud 1: Agregar un grupo de servidores backend con la función de sesión adhesiva desactivada
POST https://{Endpoint}/v2.0/lbaas/pools { "pool": { "lb_algorithm":"ROUND_ROBIN", "loadbalancer_id": "63ad9dfe-4750-479f-9630-ada43ccc8117", "protocol":"HTTP" } }
- Ejemplo de solicitud 2: Agregar un grupo de servidores backend HTTP con el valor de type establecido en APP_COOKIE
POST https://{Endpoint}/v2.0/lbaas/pools { "pool": { "lb_algorithm": "ROUND_ROBIN", "listener_id": "370fb112-e920-486a-b051-1d0d30704dd3", "protocol": "HTTP", "session_persistence": { "cookie_name": "my_cookie", "type": "APP_COOKIE", "persistence_timeout": 1 }, "admin_state_up": true } }
- Ejemplo de solicitud 3: Agregar un grupo de servidores backend HTTP con el valor de type establecido en HTTP_COOKIE
POST https://{Endpoint}/v2.0/lbaas/pools { "pool": { "lb_algorithm":"ROUND_ROBIN", "loadbalancer_id": "63ad9dfe-4750-479f-9630-ada43ccc8117", "protocol":"HTTP", "session_persistence":{ "type":"HTTP_COOKIE" } } }
Ejemplo de la respuesta
- Ejemplo de respuesta 1
{ "pool": { "lb_algorithm": "ROUND_ROBIN", "protocol": "HTTP", "description": "", "admin_state_up": true, "loadbalancers": [ { "id": "63ad9dfe-4750-479f-9630-ada43ccc8117" } ], "tenant_id": "601240b9c5c94059b63d484c92cfe308", "project_id": "601240b9c5c94059b63d484c92cfe308", "session_persistence": null, "healthmonitor_id": null, "listeners": [], "members": [], "id": "4e496951-befb-47bf-9573-c1cd11825c07", "name": "" } }
- Ejemplo de respuesta 2
{ "pool": { "lb_algorithm": "ROUND_ROBIN", "protocol": "HTTP", "description": "", "admin_state_up": true, "loadbalancers": [ { "id": "6b041b9e-976b-40ba-b075-375be6110b53" } ], "tenant_id": "145483a5107745e9b3d80f956713e6a3", "project_id": "145483a5107745e9b3d80f956713e6a3", "session_persistence": { "cookie_name": "my_cookie", "type": "APP_COOKIE", "persistence_timeout": 1 }, "healthmonitor_id": null, "listeners": [ { "id": "370fb112-e920-486a-b051-1d0d30704dd3" } ], "members": [ ], "id": "307f8968-9474-4d0c-8434-66be09dabcc1", "name": "" } }
- Ejemplo de respuesta 3
{ "pool": { "lb_algorithm": "ROUND_ROBIN", "protocol": "HTTP", "description": "", "admin_state_up": true, "loadbalancers": [ { "id": "63ad9dfe-4750-479f-9630-ada43ccc8117" } ], "tenant_id": "601240b9c5c94059b63d484c92cfe308", "project_id": "601240b9c5c94059b63d484c92cfe308", "session_persistence": { "persistence_timeout": 1440, "cookie_name": null, "type": "HTTP_COOKIE" }, "healthmonitor_id": null, "listeners": [], "members": [], "id": "d46eab56-d76b-4cd3-8952-3c3c4cf113aa", "name": "" } }
Código de estado
Para más detalles, consulte Códigos de estado.