Aller au contenu

Améliorations du pool d'origines

Métadonnées d’enrichissement pour les schémas liés à origin_pool. Voir Extensions OpenAPI pour les définitions des extensions.

Tous les schémas correspondant à origin_pool.*SpecType reçoivent des enrichissements :

  • origin_poolCreateSpecType
  • origin_poolReplaceSpecType
  • origin_poolGetSpecType
ChampObligatoire pourNotes
metadata.nameToutes les opérations1-63 caractères, alphanumérique minuscule, modèle : ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
metadata.namespaceToutes les opérationsIdentifiant de l’espace de noms
spec.origin_serversCréationMinimum 1 élément
spec.portCréation1-65535, pas de valeur par défaut du serveur
{
"metadata": {
"name": "my-origin-pool",
"namespace": "default"
},
"spec": {
"origin_servers": [
{
"public_name": {
"dns_name": "backend.example.com"
}
}
],
"port": 443
}
}

Les champs marqués avec x-f5xc-server-default: true ont leur valeur default appliquée par le serveur d’API F5 XC lorsqu’ils sont omis des requêtes.

ChampValeur par défautTypeDescription
no_tls{}objetTLS vers l’origine désactivé
healthcheck[]tableauAucun contrôle de santé configuré
loadbalancer_algorithmROUND_ROBINenumÉquilibrage de charge en tourniquet
endpoint_selectionDISTRIBUTEDenumUtilise tous les points de terminaison (locaux + distants)

Lorsque advanced_options n’est pas spécifié, le serveur se comporte comme si ces valeurs étaient définies :

ChampValeur par défautTypeDescription
connection_timeout2000entierDélai de connexion en millisecondes
http_idle_timeout300000entierDélai d’inactivité HTTP en millisecondes (5 min)
same_as_endpoint_port{}objetLe contrôle de santé utilise le port du point de terminaison
default_circuit_breaker{}objetParamètres du disjoncteur par défaut
disable_outlier_detection{}objetDétection des valeurs aberrantes désactivée
no_panic_threshold{}objetAucun seuil de panique
disable_subsets{}objetÉquilibrage de charge par sous-ensemble désactivé
auto_http_config{}objetNégociation automatique du protocole HTTP
disable_proxy_protocol{}objetProtocole proxy désactivé
disable_lb_source_ip_persistance{}objetPersistance de l’IP source de l’équilibreur de charge désactivée
CheminValeur par défautDescription
origin_servers[].labels{}Objet d’étiquettes vide
origin_servers[].public_name.refresh_interval0Utilise l’actualisation DNS par défaut du système

Divergences entre l’interface web et les valeurs par défaut du serveur

Section intitulée « Divergences entre l’interface web et les valeurs par défaut du serveur »

L’interface web F5 XC présélectionne des valeurs différentes de celles appliquées par l’API lorsque des champs sont omis.

ChampPrésélectionné par l’interfaceAppliqué par le serveurNote
loadbalancer_algorithmLB_OVERRIDEROUND_ROBINLes ressources créées via l’interface et via l’API diffèrent lorsque le champ est omis
ValeurDescriptionNotes
ROUND_ROBINChaque point de terminaison sain est sélectionné en tourniquetValeur par défaut du serveur
LEAST_REQUESTLe point de terminaison avec le moins de requêtes actives est sélectionné
RING_HASHHachage cohérent utilisant le hachage en anneau des noms de points de terminaison
RANDOMSélection aléatoire d’un point de terminaison sain
LB_OVERRIDEPolitique de hachage héritée de l’équilibreur de charge parentValeur par défaut de l’interface
ValeurDescriptionNotes
DISTRIBUTEDPrend en compte les points de terminaison distants et locauxValeur par défaut du serveur
LOCAL_ONLYSeuls les points de terminaison locaux sont utilisés
LOCAL_PREFERREDPréférence locale, bascule vers le distant si indisponible

Groupes de champs mutuellement exclusifs. Un SEUL champ de chaque groupe peut être spécifié :

GroupeChampsValeur par défaut du serveur
Configuration du portport, automatic_port, lb_portport (explicite)
TLS vers l’origineno_tls, use_tlsno_tls
Port de contrôle de santésame_as_endpoint_port, health_check_portsame_as_endpoint_port
Disjoncteurdefault_circuit_breaker, disable_circuit_breaker, circuit_breakerdefault_circuit_breaker
Détection des valeurs aberrantesdisable_outlier_detection, outlier_detectiondisable_outlier_detection
Seuil de paniqueno_panic_threshold, panic_thresholdno_panic_threshold
Équilibrage par sous-ensembledisable_subsets, enable_subsetsdisable_subsets
Protocole HTTPauto_http_config, http1_config, http2_optionsauto_http_config
Protocole proxydisable_proxy_protocol, proxy_protocol_v1, proxy_protocol_v2disable_proxy_protocol
IP source de l’équilibreurdisable_lb_source_ip_persistance, enable_lb_source_ip_persistancedisable_lb_source_ip_persistance
Pool de connexionsenable_conn_pool_reuse, disable_conn_pool_reuseenable_conn_pool_reuse
ChampTypeContrainte
spec.portentier1-65535
spec.advanced_options.connection_timeoutentier0-1 800 000 ms
spec.advanced_options.http_idle_timeoutentier0-600 000 ms
spec.advanced_options.panic_thresholdentier0-100 (pourcentage)
metadata.namechaîne1-63 caractères, modèle : ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$

La console web F5 XC présente 15 options de configuration pour les pools d’origines :

#Libellé de l’interfaceChemin du champ APITypeValeur par défaut du serveur
1Port du serveur d’originespec.[port|automatic_port|lb_port]OneOfport (explicite)
2Réutilisation du pool de connexionsspec.[enable_conn_pool_reuse|disable_conn_pool_reuse]OneOfenable_conn_pool_reuse
3Port de contrôle de santéspec.advanced_options.[same_as_endpoint_port|health_check_port]OneOfsame_as_endpoint_port
4Algorithme de l’équilibreur de chargespec.loadbalancer_algorithmenumROUND_ROBIN
5Sélection des points de terminaisonspec.endpoint_selectionenumDISTRIBUTED
6TLS vers l’originespec.[no_tls|use_tls]OneOfno_tls
7Délai de connexionspec.advanced_options.connection_timeoutentier2000 ms
8Délai d’inactivité HTTPspec.advanced_options.http_idle_timeoutentier300000 ms
9Disjoncteurspec.advanced_options.[default_circuit_breaker|disable_circuit_breaker|circuit_breaker]OneOfdefault_circuit_breaker
10Détection des valeurs aberrantesspec.advanced_options.[disable_outlier_detection|outlier_detection]OneOfdisable_outlier_detection
11Seuil de paniquespec.advanced_options.[no_panic_threshold|panic_threshold]OneOfno_panic_threshold
12Équilibrage de charge par sous-ensemblespec.advanced_options.[disable_subsets|enable_subsets]OneOfdisable_subsets
13Protocole HTTPspec.advanced_options.[auto_http_config|http1_config|http2_options]OneOfauto_http_config
14Protocole proxyspec.advanced_options.[disable_proxy_protocol|proxy_protocol_v1|proxy_protocol_v2]OneOfdisable_proxy_protocol
15Persistance de l’IP source de l’équilibreurspec.advanced_options.[disable_lb_source_ip_persistance|enable_lb_source_ip_persistance]OneOfdisable_lb_source_ip_persistance
FichierContenu
docs/specifications/api/virtual.jsonorigin_poolCreateSpecType, origin_poolReplaceSpecType, origin_poolGetSpecType
docs/specifications/api/openapi.jsonSpécification fusionnée avec tous les schémas
defaults.resources.origin_pool
├── server_applied # Champs avec x-f5xc-server-default: true
├── recommended # Champs avec x-f5xc-recommended-value
├── advanced_options # Valeurs par défaut des advanced_options imbriquées
├── oneof_choices # Sélections par défaut des OneOf
└── ui_vs_server # Divergences interface web / serveur

Les serveurs d’origine peuvent être spécifiés à l’aide de différentes variantes de type. Le type détermine les champs supplémentaires requis.

TypeDescriptionChamps obligatoiresStatut
public_nameServeur d’origine avec nom DNS publicdns_name✅ Complet
public_ipServeur d’origine avec adresse IP publiqueip (IPv4)✅ Complet
{
"origin_servers": [
{
"public_name": {
"dns_name": "backend.example.com"
}
}
]
}
{
"origin_servers": [
{
"public_ip": {
"ip": "8.8.8.8"
}
}
]
}

À FAIRE : Types de serveurs d’origine dépendant d’un site

Section intitulée « À FAIRE : Types de serveurs d’origine dépendant d’un site »

Les types de serveurs d’origine suivants nécessitent le développement d’une logique de ressource « site » avant leur implémentation :

TypeDescriptionChamps obligatoiresStatut
private_ipServeur d’origine avec IP privée/publique et informations de siteip, site_locator, network_choice, snat_pool🔲 En attente de la logique de site
private_nameServeur d’origine avec nom DNS et informations de sitedns_name, site_locator, network_choice, snat_pool🔲 En attente de la logique de site
k8s_serviceService Kubernetes avec informations de siteservice_name, site_locator, network_choice🔲 En attente de la logique de site
consul_serviceService HashiCorp Consul avec informations de siteservice_name, site_locator, network_choice🔲 En attente de la logique de site

Avant que ces types puissent être entièrement documentés :

  1. Découverte des ressources de site - Documenter le schéma de ressource site et les modèles site_locator
  2. Énumération du choix réseau - Documenter les valeurs contraintes de network_choice (site_local_inside, site_local_outside, etc.)
  3. Options du pool SNAT - Documenter les modèles de configuration du pool SNAT
  4. Références inter-ressources - Définir comment origin_pool référence les ressources de site
  • Espace réservé de configuration : config/discovered_defaults.yamlorigin_pool.origin_server_types.enums
  • Sprint associé : Enrichissements du schéma de ressource de site
VersionDateModifications
2.1.22026-01-18Ajout de la section sur les types de serveurs d’origine avec public_name/public_ip ; marqueurs À FAIRE pour les types dépendant d’un site
2.1.12026-01-18Réécrit comme référence API pure ; suppression des exemples de code en aval
2.1.02026-01-18Mise à jour vers la structure de valeurs par défaut unifiée dans validation.json
2.0.332026-01-17Documentation initiale des améliorations du pool d’origines