Pular para o conteúdo

Melhorias no Pool de Origem

Metadados de enriquecimento para esquemas relacionados a origin_pool. Consulte Extensões OpenAPI para definições de extensões.

Todos os esquemas que correspondem a origin_pool.*SpecType recebem enriquecimentos:

  • origin_poolCreateSpecType
  • origin_poolReplaceSpecType
  • origin_poolGetSpecType
CampoObrigatório ParaObservações
metadata.nameTodas as operações1-63 caracteres, alfanumérico minúsculo, padrão: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
metadata.namespaceTodas as operaçõesIdentificador de namespace
spec.origin_serversCriaçãoMínimo de 1 item
spec.portCriação1-65535, sem padrão do servidor
{
"metadata": {
"name": "my-origin-pool",
"namespace": "default"
},
"spec": {
"origin_servers": [
{
"public_name": {
"dns_name": "backend.example.com"
}
}
],
"port": 443
}
}

Campos marcados com x-f5xc-server-default: true têm seu valor default aplicado pelo servidor da API F5 XC quando omitidos das requisições.

CampoValor PadrãoTipoDescrição
no_tls{}objectTLS para a origem desativado
healthcheck[]arrayNenhuma verificação de integridade configurada
loadbalancer_algorithmROUND_ROBINenumBalanceamento de carga round-robin
endpoint_selectionDISTRIBUTEDenumUsar todos os endpoints (local + remoto)

Quando advanced_options não é especificado, o servidor se comporta como se estes valores estivessem definidos:

CampoValor PadrãoTipoDescrição
connection_timeout2000integerTempo limite de conexão em milissegundos
http_idle_timeout300000integerTempo limite de inatividade HTTP em milissegundos (5 min)
same_as_endpoint_port{}objectVerificação de integridade usa a porta do endpoint
default_circuit_breaker{}objectConfigurações padrão do circuit breaker
disable_outlier_detection{}objectDetecção de outlier desativada
no_panic_threshold{}objectSem limiar de pânico
disable_subsets{}objectBalanceamento de carga por subconjunto desativado
auto_http_config{}objectNegociação automática de protocolo HTTP
disable_proxy_protocol{}objectProtocolo proxy desativado
disable_lb_source_ip_persistance{}objectPersistência de IP de origem do LB desativada
CaminhoValor PadrãoDescrição
origin_servers[].labels{}Objeto de labels vazio
origin_servers[].public_name.refresh_interval0Usar atualização de DNS padrão do sistema

A interface web do F5 XC pré-seleciona valores diferentes dos que a API aplica quando os campos são omitidos.

CampoPré-selecionado na UIAplicado pelo ServidorObservação
loadbalancer_algorithmLB_OVERRIDEROUND_ROBINRecursos criados pela UI e pela API diferem quando o campo é omitido
ValorDescriçãoObservações
ROUND_ROBINCada endpoint saudável é selecionado em ordem round-robinPadrão do servidor
LEAST_REQUESTEndpoint com menos requisições ativas é selecionado
RING_HASHHashing consistente usando ring hash dos nomes dos endpoints
RANDOMSeleção aleatória de endpoint saudável
LB_OVERRIDEPolítica de hash herdada do balanceador de carga paiPadrão da UI
ValorDescriçãoObservações
DISTRIBUTEDConsiderar endpoints remotos e locaisPadrão do servidor
LOCAL_ONLYApenas endpoints locais são utilizados
LOCAL_PREFERREDPreferir local, recorrer ao remoto se indisponível

Grupos de campos mutuamente exclusivos. Apenas UM campo de cada grupo pode ser especificado:

GrupoCamposPadrão do Servidor
Configuração de Portaport, automatic_port, lb_portport (explícito)
TLS para a Origemno_tls, use_tlsno_tls
Porta de Verificação de Integridadesame_as_endpoint_port, health_check_portsame_as_endpoint_port
Circuit Breakerdefault_circuit_breaker, disable_circuit_breaker, circuit_breakerdefault_circuit_breaker
Detecção de Outlierdisable_outlier_detection, outlier_detectiondisable_outlier_detection
Limiar 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 Origem do LBdisable_lb_source_ip_persistance, enable_lb_source_ip_persistancedisable_lb_source_ip_persistance
Pool de Conexõesenable_conn_pool_reuse, disable_conn_pool_reuseenable_conn_pool_reuse
CampoTipoRestrição
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 (percentual)
metadata.namestring1-63 caracteres, padrão: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$

O console web do F5 XC apresenta 15 opções de configuração para pools de origem:

#Rótulo na UICaminho do Campo na APITipoPadrão do Servidor
1Porta do Servidor de Origemspec.[port|automatic_port|lb_port]OneOfport (explícito)
2Reutilização de Pool de Conexõesspec.[enable_conn_pool_reuse|disable_conn_pool_reuse]OneOfenable_conn_pool_reuse
3Porta de Verificação de Integridadespec.advanced_options.[same_as_endpoint_port|health_check_port]OneOfsame_as_endpoint_port
4Algoritmo do Balanceador de Cargaspec.loadbalancer_algorithmenumROUND_ROBIN
5Seleção de Endpointspec.endpoint_selectionenumDISTRIBUTED
6TLS para a Origemspec.[no_tls|use_tls]OneOfno_tls
7Tempo Limite de Conexãospec.advanced_options.connection_timeoutinteger2000 ms
8Tempo Limite de Inatividade HTTPspec.advanced_options.http_idle_timeoutinteger300000 ms
9Circuit Breakerspec.advanced_options.[default_circuit_breaker|disable_circuit_breaker|circuit_breaker]OneOfdefault_circuit_breaker
10Detecção de Outlierspec.advanced_options.[disable_outlier_detection|outlier_detection]OneOfdisable_outlier_detection
11Limiar de Pânicospec.advanced_options.[no_panic_threshold|panic_threshold]OneOfno_panic_threshold
12Balanceamento 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
15Persistência de IP de Origem do LBspec.advanced_options.[disable_lb_source_ip_persistance|enable_lb_source_ip_persistance]OneOfdisable_lb_source_ip_persistance
ArquivoConteúdo
docs/specifications/api/virtual.jsonorigin_poolCreateSpecType, origin_poolReplaceSpecType, origin_poolGetSpecType
docs/specifications/api/openapi.jsonEspecificação consolidada com todos os esquemas
defaults.resources.origin_pool
├── server_applied # Campos com x-f5xc-server-default: true
├── recommended # Campos com x-f5xc-recommended-value
├── advanced_options # Padrões de advanced_options aninhados
├── oneof_choices # Seleções padrão de OneOf
└── ui_vs_server # Discrepâncias entre UI e servidor

Os servidores de origem podem ser especificados usando diferentes variantes de tipo. O tipo determina quais campos adicionais são obrigatórios.

TipoDescriçãoCampos ObrigatóriosStatus
public_nameServidor de origem com nome DNS públicodns_name✅ Completo
public_ipServidor de origem com endereço IP públicoip (IPv4)✅ Completo
{
"origin_servers": [
{
"public_name": {
"dns_name": "backend.example.com"
}
}
]
}
{
"origin_servers": [
{
"public_ip": {
"ip": "8.8.8.8"
}
}
]
}

TODO: Tipos de Servidores de Origem Dependentes de Site

Seção intitulada “TODO: Tipos de Servidores de Origem Dependentes de Site”

Os seguintes tipos de servidores de origem requerem o desenvolvimento da lógica de recurso “site” antes da implementação:

TipoDescriçãoCampos ObrigatóriosStatus
private_ipServidor de origem com IP privado/público e informações de siteip, site_locator, network_choice, snat_pool🔲 Pendente lógica de site
private_nameServidor de origem com nome DNS e informações de sitedns_name, site_locator, network_choice, snat_pool🔲 Pendente lógica de site
k8s_serviceServiço Kubernetes com informações de siteservice_name, site_locator, network_choice🔲 Pendente lógica de site
consul_serviceServiço HashiCorp Consul com informações de siteservice_name, site_locator, network_choice🔲 Pendente lógica de site

Antes que esses tipos possam ser completamente documentados:

  1. Descoberta de Recursos de Site - Documentar o esquema do recurso site e os padrões de site_locator
  2. Enum de Escolha de Rede - Documentar os valores restritos de network_choice (site_local_inside, site_local_outside, etc.)
  3. Opções de Pool SNAT - Documentar os padrões de configuração do pool SNAT
  4. Referências Entre Recursos - Definir como origin_pool referencia recursos de site
  • Placeholder de configuração: config/discovered_defaults.yamlorigin_pool.origin_server_types.enums
  • Sprint relacionado: Enriquecimentos de esquema de recursos de site
VersãoDataAlterações
2.1.22026-01-18Adicionada seção de tipos de servidores de origem com public_name/public_ip; marcadores TODO para tipos dependentes de site
2.1.12026-01-18Reescrito como referência pura de API; exemplos de código downstream removidos
2.1.02026-01-18Atualizado para estrutura unificada de padrões no validation.json
2.0.332026-01-17Documentação inicial de melhorias no pool de origem