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

Adición de un servidor backend

Función

Esta API se utiliza para agregar un servidor backend a un grupo de servidores backend específico. Después de agregar un grupo de servidores backend a un oyente, el tráfico se distribuye a los servidores backend de este grupo de servidores usando el algoritmo de equilibrio de carga especificado.

Restricciones

Dos servidores backend de un grupo de servidores backend no pueden tener la misma dirección IP privada o número de puerto.

La subred especificada durante la creación del servidor debe estar en la misma VPC que la subred desde la que se asigna la dirección IP privada del balanceador de carga.

URI

POST /v2.0/lbaas/pools/{pool_id}/members

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

member

Object

Especifica el servidor backend. Para más detalles, consulte Tabla 3.

Tabla 3 Descripción del parámetro member

Parámetro

Obligatorio

Tipo

Descripción

tenant_id

No

String

Especifica el ID del proyecto en el que se utiliza el servidor 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 servidor 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 servidor backend. El valor es una string de caracteres vacía de forma predeterminada.

El valor contiene un máximo de 255 caracteres.

address

String

Especifica la dirección IP privada del servidor backend. Esta dirección IP debe estar en la subred especificada por subnet_id.

Este parámetro solo se puede establecer en la dirección IP de la NIC primaria, por ejemplo, 192.168.3.11.

El valor incluye un máximo de 64 caracteres.

protocol_port

Integer

Especifica el puerto utilizado por el servidor backend. El número de puerto se encuentra dentro del rango de 1 a 65535.

subnet_id

String

Especifica el ID de la subred donde funciona el servidor backend.

La dirección IP privada del servidor backend se encuentra en esta subred.

Sólo se admiten subredes IPv4.

admin_state_up

No

Boolean

Especifica el estado administrativo del servidor backend.

Este parámetro está reservado y el valor predeterminado es true.

weight

No

Integer

Especifica el peso del servidor backend. El valor varía de 0 a 100.

Si el valor es 0, el servidor backend no aceptará nuevas solicitudes. El valor predeterminado es 1.

Respuesta

Tabla 4 Parámetros de respuesta

Parámetro

Tipo

Descripción

member

Object

Especifica el servidor backend. Para más detalles, consulte Tabla 5.

Tabla 5 Descripción del parámetro member

Parámetro

Tipo

Descripción

id

String

Especifica el ID del servidor backend.

NOTA:

El valor de este parámetro no es el ID de servidor. Es el ID generado automáticamente para el servidor backend asociado con el balanceador de carga.

tenant_id

String

Especifica el ID del proyecto en el que se utiliza el servidor backend.

El valor contiene un máximo de 255 caracteres.

project_id

String

Especifica el ID del proyecto al que pertenece el servidor backend. Este parámetro tiene el mismo significado que tenant_id.

name

String

Especifica el nombre del servidor backend.

El valor contiene un máximo de 255 caracteres.

address

String

Especifica la dirección IP privada del servidor backend. Esta dirección IP debe estar en la subred especificada por subnet_id.

Este parámetro solo se puede establecer en la dirección IP de la NIC primaria, por ejemplo, 192.168.3.11.

El valor incluye un máximo de 64 caracteres.

protocol_port

Integer

Especifica el puerto utilizado por el servidor backend. El número de puerto se encuentra dentro del rango de 1 a 65535.

subnet_id

String

Especifica el ID de la subred donde funciona el servidor backend. La dirección IP privada del servidor backend se encuentra en esta subred.

No se admiten subredes IPv6.

admin_state_up

Boolean

Especifica el estado administrativo del servidor backend.

Este parámetro está reservado. El valor puede ser true o false.

  • true: habilitar
  • false: deshabilitar

weight

Integer

Especifica el peso del servidor backend. El valor varía de 0 a 100.

Si el valor es 0, el servidor backend no aceptará nuevas solicitudes. El valor predeterminado es 1.

operating_status

String

Especifica el resultado de la comprobación de estado del servidor backend. El valor puede ser uno de los siguientes:

  • ONLINE: El servidor backend se está ejecutando normalmente.
  • NO_MONITOR: No se configura ninguna comprobación de estado para el grupo de servidores backend al que pertenece el servidor backend.
  • OFFLINE: El servidor en la nube utilizado como servidor backend se detiene o no existe.

Ejemplo de la solicitud

  • Paso 1: consulte el ID de subred y la dirección IP usando el ID de servidor. device_id en la solicitud indica el ID del servidor. Obtenga los valores de subnet_id y ip_address de la NIC primaria (el puerto para el que primary_interface es true) en el cuerpo de la respuesta.
    GET https://{VPCEndpoint}/v2.0/ports?device_id=f738c464-b5c2-45df-86c0-7f436620cd54

    Ejemplo de la respuesta

    {
        "ports": [
            {
                "id": "94971c39-46f0-443a-85e8-31cb7497c78e",
                "name": "",
                "status": "ACTIVE",
                "admin_state_up": true,
                "fixed_ips": [
                    {
                        "subnet_id": "33d8b01a-bbe6-41f4-bc45-78a1d284d503",
                        "ip_address": "192.168.44.11"
                    }
                ],
                "mac_address": "fa:16:3e:5c:d2:57",
                "network_id": "1b76b9c2-9b7e-4ced-81bd-d13f7389d7c9",
                "tenant_id": "04dd36f978800fe22f9bc00bea090736",
                "project_id": "04dd36f978800fe22f9bc00bea090736",
                "device_id": "f738c464-b5c2-45df-86c0-7f436620cd54",
                "device_owner": "compute:xx-xxxx-4a",
                "security_groups": [
                    "a10dfc31-0055-4b84-b36e-1291b918125c",
                    "7a233393-5be2-4dff-8360-1558dd950f6e"
                ],
                "extra_dhcp_opts": [],
                "allowed_address_pairs": [],
                "binding:vnic_type": "normal",
                "binding:vif_details": {
                    "primary_interface": true
                },
                "binding:profile": {},
                "port_security_enabled": true,
                "created_at": "2019-11-12T17:17:51",
                "updated_at": "2019-11-12T17:17:51"
            }
        ]
    }
  • Paso 2: Utilice el ID de subred y la dirección IP obtenidas en el paso 1 para agregar un servidor backend.
    POST https://{Endpoint}/v2.0/lbaas/pools/5a9a3e9e-d1aa-448e-af37-a70171f2a332/members
    
    {
        "member": {
            "subnet_id": "33d8b01a-bbe6-41f4-bc45-78a1d284d503",
            "protocol_port": 88,
            "name": "member-jy-tt-1",
            "address": "192.168.44.11"
        }
    }

Ejemplo de la respuesta

  • Ejemplo de la respuesta
    {
        "member": {
            "name": "member-jy-tt-1", 
            "weight": 1, 
            "admin_state_up": true, 
            "subnet_id": "33d8b01a-bbe6-41f4-bc45-78a1d284d503", 
            "tenant_id": "145483a5107745e9b3d80f956713e6a3", 
            "project_id": "145483a5107745e9b3d80f956713e6a3", 
            "address": "192.168.44.11", 
            "protocol_port": 88, 
            "operating_status": "ONLINE", 
            "id": "c0042496-e220-44f6-914b-e6ca33bab503"
        }
    }

Código de estado

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