Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2022-11-17 GMT+08:00

Actualización de un grupo de servidores backend

Función

Esta API se utiliza para actualizar un grupo de servidores backend.

Restricciones

Si el estado de aprovisionamiento del balanceador de carga asociado a un grupo de servidores backend no es ACTIVE, el grupo de servidores backend no se puede actualizar.

URI

PUT /v2.0/lbaas/pools/{pool_id}

Tabla 1 Descripción del parámetro

Parámetro

Obligatorio

Tipo

Descripción

pool_id

String

Especifica el ID del grupo de servidores backend.

Solicitud

Tabla 2 Descripción del parámetro

Parámetro

Obligatorio

Tipo

Descripción

pool

Object

Especifica el grupo de servidores backend. Para más detalles, consulte Tabla 3.

Tabla 3 Descripción del parámetro pool

Parámetro

Obligatorio

Tipo

Descripción

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.

lb_algorithm

No

String

Especifica el algoritmo de equilibrio de carga del grupo de servidores backend.

Opciones de valor:
  • ROUND_ROBIN: indica el algoritmo round robin ponderado.
  • LEAST_CONNECTIONS: indica el algoritmo de conexiones mínimas ponderadas.
  • SOURCE_IP: indica el algoritmo hash IP de origen.

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.

session_persistence

No

Object

Especifica si se debe habilitar la función de sesión adhesiva. Para más detalles, consulte Tabla 10.

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.

Tabla 4 Descripción de parámetro session_persistence

Parámetro

Obligatorio

Tipo

Descripción

type

No

String

Especifica el tipo de sesión adhesiva.

Opciones de valor:
  • SOURCE_IP: Las solicitudes se distribuyen en función de la dirección IP del cliente. Las solicitudes desde la misma dirección IP se envían al mismo servidor backend.
  • HTTP_COOKIE: Cuando el cliente envía una solicitud por primera vez, el balanceador de carga genera automáticamente una cookie e inserta la cookie en el mensaje de respuesta. Las solicitudes posteriores se envían al servidor backend que procesa la primera solicitud.
  • APP_COOKIE: Cuando el cliente envía una solicitud por primera vez, el servidor backend que recibe la solicitud genera una cookie e inserta la cookie en el mensaje de respuesta. Las solicitudes posteriores se envían a este servidor backend.
  • 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 y se puede especificar 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.

Las opciones de rango de valores son las siguientes:
  • Cuando el protocolo del grupo de servidores backend es TCP o UDP, el valor varía de 1 a 60.
  • Cuando el protocolo del grupo de servidores backend es HTTP o HTTPS, el valor varía de 1 a 1440.

Respuesta

Tabla 5 Descripción del parámetro

Parámetro

Tipo

Descripción

pool

Object

Especifica el grupo de servidores backend. Para más detalles, consulte Tabla 6.

Tabla 6 Descripción del parámetro pools

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:

  • Cuando el protocolo utilizado por el oyente es UDP, el protocolo del grupo de servidores backend debe ser UDP.
  • Cuando el protocolo utilizado por el oyente es TCP, el protocolo del grupo de servidores backend debe ser TCP.
  • Cuando el protocolo utilizado por el oyente es HTTP o TERMINATED_HTTPS, el protocolo del grupo de servidores backend debe ser HTTP.

lb_algorithm

String

Especifica el algoritmo de equilibrio de carga del grupo de servidores backend.

El valor puede ser uno de los siguientes:
  • ROUND_ROBIN: indica el algoritmo round robin ponderado.
  • LEAST_CONNECTIONS: indica el algoritmo de conexiones mínimas ponderadas.
  • SOURCE_IP: indica el algoritmo hash IP de origen. Cuando el valor es SOURCE_IP, los pesos de los servidores backend del grupo de servidores no son válidos.

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.

  • true: habilitar
  • false: deshabilitar

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.

Tabla 7 Descripción del parámetro members

Parámetro

Tipo

Descripción

id

String

Especifica el ID del servidor backend asociado.

Tabla 8 Descripción del parámetro listeners

Parámetro

Tipo

Descripción

id

String

Especifica el ID del grupo de servidores backend asociado.

Tabla 9 Descripción de parámetro loadbalancers

Parámetro

Tipo

Descripción

id

String

Especifica el ID del balanceador de carga asociado.

Tabla 10 Descripción de parámetro session_persistence

Parámetro

Tipo

Descripción

type

String

Especifica el tipo de sesión adhesiva.

El valor puede ser uno de los siguientes:
  • SOURCE_IP: Las solicitudes se distribuyen en función de la dirección IP del cliente. Las solicitudes desde la misma dirección IP se envían al mismo servidor backend.
  • HTTP_COOKIE: Cuando el cliente envía una solicitud por primera vez, el balanceador de carga genera automáticamente una cookie e inserta la cookie en el mensaje de respuesta. Las solicitudes posteriores se envían al servidor backend que procesa la primera solicitud.
  • APP_COOKIE: Cuando el cliente envía una solicitud por primera vez, el servidor backend que recibe la solicitud genera una cookie e inserta la cookie en el mensaje de respuesta. Las solicitudes posteriores se envían a este servidor backend.

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.

  • Los rangos de valores opcionales son los siguientes:
    • Cuando el protocolo del grupo de servidores backend es TCP o UDP, el valor varía de 1 a 60.
    • Cuando el protocolo del grupo de servidores backend es HTTP o HTTPS, el valor varía de 1 a 1440.

Ejemplo de la solicitud

  • Ejemplo de solicitud 1: Actualización de un grupo de servidores backend
    PUT https://{Endpoint}/v2.0/lbaas/pools/12ff63af-4127-4074-a251-bcb2ecc53ebe 
    
    { 
        "pool": { 
            "name": "pool2", 
            "description": "pool two", 
            "lb_algorithm": "LEAST_CONNECTIONS" 
        } 
    }
  • Ejemplo de solicitud 2: Desactivación de la función de sesión adhesiva de un grupo de servidores backend
    PUT https://{Endpoint}/v2.0/lbaas/pools/d46eab56-d76b-4cd3-8952-3c3c4cf113aa
    
    {
        "pool": {
            "session_persistence":null
        }
    }

Ejemplo de la respuesta

  • Ejemplo de respuesta 1
    {
        "pool": {
            "lb_algorithm": "LEAST_CONNECTIONS",
            "protocol": "HTTP",
            "description": "pool two",
            "loadbalancers": [
                {
                    "id": "63ad9dfe-4750-479f-9630-ada43ccc8117"
                }
            ],
            "admin_state_up": true,
            "tenant_id": "1a3e005cf9ce40308c900bcb08e5320c",
            "project_id": "1a3e005cf9ce40308c900bcb08e5320c",
            "session_persistence": {
                "cookie_name": null,
                "type": "HTTP_COOKIE",
                "persistence_timeout": 1
            },
            "healthmonitor_id": null,
            "listeners": [
                {
                    "id": "39de4d56-d663-46e5-85a1-5b9d5fa17829"
                }
            ],
            "members": [],
            "id": "12ff63af-4127-4074-a251-bcb2ecc53ebe",
            "name": "pool2"
        }
    }
  • Ejemplo de respuesta 2
    {
        "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": "d46eab56-d76b-4cd3-8952-3c3c4cf113aa",
            "name": ""
        }
    }

Código de estado

Para más detalles, consulte Códigos de estado.