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
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
pool_id |
Sí |
String |
Especifica el ID del grupo de servidores backend. |
Solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
member |
Sí |
Object |
Especifica el servidor backend. Para más detalles, consulte Tabla 3. |
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 |
Sí |
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 |
Sí |
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 |
Sí |
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
Parámetro |
Tipo |
Descripción |
---|---|---|
member |
Object |
Especifica el servidor backend. Para más detalles, consulte Tabla 5. |
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.
|
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:
|
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.