Ir al contenido

Mejoras del Pool de Origen

Metadatos de enriquecimiento para esquemas relacionados con origin_pool. Consulte Extensiones de OpenAPI para las definiciones de extensiones.

Todos los esquemas que coinciden con origin_pool.*SpecType reciben enriquecimientos:

  • origin_poolCreateSpecType
  • origin_poolReplaceSpecType
  • origin_poolGetSpecType
CampoRequerido ParaNotas
metadata.nameTodas las operaciones1-63 caracteres, alfanumérico en minúsculas, patrón: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
metadata.namespaceTodas las operacionesIdentificador de namespace
spec.origin_serversCreaciónMínimo 1 elemento
spec.portCreación1-65535, sin valor predeterminado del servidor
{
"metadata": {
"name": "my-origin-pool",
"namespace": "default"
},
"spec": {
"origin_servers": [
{
"public_name": {
"dns_name": "backend.example.com"
}
}
],
"port": 443
}
}

Valores Predeterminados Aplicados por el Servidor

Sección titulada «Valores Predeterminados Aplicados por el Servidor»

Los campos marcados con x-f5xc-server-default: true tienen su valor default aplicado por el servidor de la API de F5 XC cuando se omiten de las solicitudes.

CampoValor PredeterminadoTipoDescripción
no_tls{}objectTLS al origen deshabilitado
healthcheck[]arraySin verificaciones de salud configuradas
loadbalancer_algorithmROUND_ROBINenumBalanceo de carga round-robin
endpoint_selectionDISTRIBUTEDenumUsar todos los endpoints (locales + remotos)

Cuando no se especifica advanced_options, el servidor se comporta como si estos valores estuvieran configurados:

CampoValor PredeterminadoTipoDescripción
connection_timeout2000integerTiempo de espera de conexión en milisegundos
http_idle_timeout300000integerTiempo de espera de inactividad HTTP en milisegundos (5 min)
same_as_endpoint_port{}objectLa verificación de salud utiliza el puerto del endpoint
default_circuit_breaker{}objectConfiguración predeterminada del circuit breaker
disable_outlier_detection{}objectDetección de valores atípicos deshabilitada
no_panic_threshold{}objectSin umbral de pánico
disable_subsets{}objectBalanceo de carga por subconjunto deshabilitado
auto_http_config{}objectNegociación automática del protocolo HTTP
disable_proxy_protocol{}objectProtocolo proxy deshabilitado
disable_lb_source_ip_persistance{}objectPersistencia de IP de origen de LB deshabilitada
RutaValor PredeterminadoDescripción
origin_servers[].labels{}Objeto de etiquetas vacío
origin_servers[].public_name.refresh_interval0Usar actualización DNS predeterminada del sistema

Discrepancias entre la Interfaz de Usuario y el Servidor

Sección titulada «Discrepancias entre la Interfaz de Usuario y el Servidor»

La interfaz web de F5 XC preselecciona valores diferentes a los que aplica la API cuando se omiten los campos.

CampoPreseleccionado en UIAplicado por ServidorNota
loadbalancer_algorithmLB_OVERRIDEROUND_ROBINLos recursos creados desde la UI y los creados por API difieren cuando el campo se omite
ValorDescripciónNotas
ROUND_ROBINCada endpoint saludable es seleccionado en orden round-robinPredeterminado del servidor
LEAST_REQUESTSe selecciona el endpoint con menos solicitudes activas
RING_HASHHashing consistente usando ring hash de nombres de endpoints
RANDOMSelección aleatoria de endpoint saludable
LB_OVERRIDEPolítica de hash heredada del balanceador de carga padrePredeterminado de UI
ValorDescripciónNotas
DISTRIBUTEDConsiderar tanto endpoints remotos como localesPredeterminado del servidor
LOCAL_ONLYSolo se usan endpoints locales
LOCAL_PREFERREDPreferir local, recurrir a remoto si no está disponible

Grupos de campos mutuamente excluyentes. Solo SE PUEDE especificar UN campo de cada grupo:

GrupoCamposPredeterminado del Servidor
Configuración de Puertoport, automatic_port, lb_portport (explícito)
TLS al Origenno_tls, use_tlsno_tls
Puerto de Verificación de Saludsame_as_endpoint_port, health_check_portsame_as_endpoint_port
Circuit Breakerdefault_circuit_breaker, disable_circuit_breaker, circuit_breakerdefault_circuit_breaker
Detección de Valores Atípicosdisable_outlier_detection, outlier_detectiondisable_outlier_detection
Umbral de Pánicono_panic_threshold, panic_thresholdno_panic_threshold
LB por Subconjuntodisable_subsets, enable_subsetsdisable_subsets
Protocolo HTTPauto_http_config, http1_config, http2_optionsauto_http_config
Protocolo Proxydisable_proxy_protocol, proxy_protocol_v1, proxy_protocol_v2disable_proxy_protocol
IP de Origen de LBdisable_lb_source_ip_persistance, enable_lb_source_ip_persistancedisable_lb_source_ip_persistance
Pool de Conexionesenable_conn_pool_reuse, disable_conn_pool_reuseenable_conn_pool_reuse
CampoTipoRestricción
spec.portinteger1-65535
spec.advanced_options.connection_timeoutinteger0-1.800.000 ms
spec.advanced_options.http_idle_timeoutinteger0-600.000 ms
spec.advanced_options.panic_thresholdinteger0-100 (porcentaje)
metadata.namestring1-63 caracteres, patrón: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$

Opciones de Configuración de la Interfaz de Usuario

Sección titulada «Opciones de Configuración de la Interfaz de Usuario»

La consola web de F5 XC presenta 15 opciones de configuración para los origin pools:

#Etiqueta en UIRuta del Campo APITipoPredeterminado del Servidor
1Puerto del Servidor de Origenspec.[port|automatic_port|lb_port]OneOfport (explícito)
2Reutilización del Pool de Conexionesspec.[enable_conn_pool_reuse|disable_conn_pool_reuse]OneOfenable_conn_pool_reuse
3Puerto de Verificación de Saludspec.advanced_options.[same_as_endpoint_port|health_check_port]OneOfsame_as_endpoint_port
4Algoritmo del Balanceador de Cargaspec.loadbalancer_algorithmenumROUND_ROBIN
5Selección de Endpointspec.endpoint_selectionenumDISTRIBUTED
6TLS al Origenspec.[no_tls|use_tls]OneOfno_tls
7Tiempo de Espera de Conexiónspec.advanced_options.connection_timeoutinteger2000 ms
8Tiempo de Espera de Inactividad HTTPspec.advanced_options.http_idle_timeoutinteger300000 ms
9Circuit Breakerspec.advanced_options.[default_circuit_breaker|disable_circuit_breaker|circuit_breaker]OneOfdefault_circuit_breaker
10Detección de Valores Atípicosspec.advanced_options.[disable_outlier_detection|outlier_detection]OneOfdisable_outlier_detection
11Umbral de Pánicospec.advanced_options.[no_panic_threshold|panic_threshold]OneOfno_panic_threshold
12Balanceo de Carga por Subconjuntospec.advanced_options.[disable_subsets|enable_subsets]OneOfdisable_subsets
13Protocolo HTTPspec.advanced_options.[auto_http_config|http1_config|http2_options]OneOfauto_http_config
14Protocolo Proxyspec.advanced_options.[disable_proxy_protocol|proxy_protocol_v1|proxy_protocol_v2]OneOfdisable_proxy_protocol
15Persistencia de IP de Origen de LBspec.advanced_options.[disable_lb_source_ip_persistance|enable_lb_source_ip_persistance]OneOfdisable_lb_source_ip_persistance
ArchivoContenido
docs/specifications/api/virtual.jsonorigin_poolCreateSpecType, origin_poolReplaceSpecType, origin_poolGetSpecType
docs/specifications/api/openapi.jsonEspecificación unificada con todos los esquemas
defaults.resources.origin_pool
├── server_applied # Campos con x-f5xc-server-default: true
├── recommended # Campos con x-f5xc-recommended-value
├── advanced_options # Valores predeterminados de advanced_options anidados
├── oneof_choices # Selecciones predeterminadas de OneOf
└── ui_vs_server # Discrepancias entre UI y servidor

Los servidores de origen pueden especificarse usando diferentes variantes de tipo. El tipo determina qué campos adicionales son requeridos.

TipoDescripciónCampos RequeridosEstado
public_nameServidor de origen con nombre DNS públicodns_name✅ Completo
public_ipServidor de origen con dirección IP públicaip (IPv4)✅ Completo
{
"origin_servers": [
{
"public_name": {
"dns_name": "backend.example.com"
}
}
]
}
{
"origin_servers": [
{
"public_ip": {
"ip": "8.8.8.8"
}
}
]
}

TODO: Tipos de Servidor de Origen Dependientes de Site

Sección titulada «TODO: Tipos de Servidor de Origen Dependientes de Site»

Los siguientes tipos de servidor de origen requieren el desarrollo de lógica de recursos “site” antes de su implementación:

TipoDescripciónCampos RequeridosEstado
private_ipServidor de origen con IP privada/pública e información de siteip, site_locator, network_choice, snat_pool🔲 Pendiente de lógica de site
private_nameServidor de origen con nombre DNS e información de sitedns_name, site_locator, network_choice, snat_pool🔲 Pendiente de lógica de site
k8s_serviceServicio de Kubernetes con información de siteservice_name, site_locator, network_choice🔲 Pendiente de lógica de site
consul_serviceServicio de HashiCorp Consul con información de siteservice_name, site_locator, network_choice🔲 Pendiente de lógica de site

Antes de que estos tipos puedan estar completamente documentados:

  1. Descubrimiento de Recursos Site - Documentar el esquema del recurso site y los patrones de site_locator
  2. Enumeración de Network Choice - Documentar los valores restringidos de network_choice (site_local_inside, site_local_outside, etc.)
  3. Opciones de SNAT Pool - Documentar los patrones de configuración del SNAT pool
  4. Referencias entre Recursos - Definir cómo origin_pool referencia los recursos site
  • Marcador de configuración: config/discovered_defaults.yamlorigin_pool.origin_server_types.enums
  • Sprint relacionado: Enriquecimientos del esquema de recursos site
VersiónFechaCambios
2.1.22026-01-18Se agregó la sección de tipos de servidor de origen con public_name/public_ip; marcadores TODO para tipos dependientes de site
2.1.12026-01-18Reescrito como referencia de API pura; se eliminaron ejemplos de código downstream
2.1.02026-01-18Actualizado a la estructura de valores predeterminados unificada en validation.json
2.0.332026-01-17Documentación inicial de mejoras del origin pool