Zum Inhalt springen

Ursprungsserver-Pool-Erweiterungen

Anreicherungsmetadaten für origin_pool-bezogene Schemas. Siehe OpenAPI-Erweiterungen für Erweiterungsdefinitionen.

Alle Schemas, die origin_pool.*SpecType entsprechen, erhalten Anreicherungen:

  • origin_poolCreateSpecType
  • origin_poolReplaceSpecType
  • origin_poolGetSpecType
FeldErforderlich fürHinweise
metadata.nameAlle Operationen1–63 Zeichen, Kleinbuchstaben alphanumerisch, Muster: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
metadata.namespaceAlle OperationenNamespace-Bezeichner
spec.origin_serversErstellenMindestens 1 Element
spec.portErstellen1–65535, kein Server-Standard
{
"metadata": {
"name": "my-origin-pool",
"namespace": "default"
},
"spec": {
"origin_servers": [
{
"public_name": {
"dns_name": "backend.example.com"
}
}
],
"port": 443
}
}

Felder, die mit x-f5xc-server-default: true markiert sind, haben ihren default-Wert, der vom F5 XC API-Server angewendet wird, wenn sie in Anfragen weggelassen werden.

FeldStandardwertTypBeschreibung
no_tls{}objectTLS zum Ursprungsserver deaktiviert
healthcheck[]arrayKeine Health-Checks konfiguriert
loadbalancer_algorithmROUND_ROBINenumRound-Robin-Lastverteilung
endpoint_selectionDISTRIBUTEDenumAlle Endpunkte verwenden (lokal + remote)

Wenn advanced_options nicht angegeben wird, verhält sich der Server so, als ob diese Werte gesetzt wären:

FeldStandardwertTypBeschreibung
connection_timeout2000integerVerbindungstimeout in Millisekunden
http_idle_timeout300000integerHTTP-Leerlauf-Timeout in Millisekunden (5 Min.)
same_as_endpoint_port{}objectHealth-Check verwendet Endpunkt-Port
default_circuit_breaker{}objectStandard-Circuit-Breaker-Einstellungen
disable_outlier_detection{}objectAusreißererkennung deaktiviert
no_panic_threshold{}objectKein Panic-Schwellenwert
disable_subsets{}objectSubset-Lastverteilung deaktiviert
auto_http_config{}objectAutomatische HTTP-Protokollaushandlung
disable_proxy_protocol{}objectProxy-Protokoll deaktiviert
disable_lb_source_ip_persistance{}objectLB-Quell-IP-Persistenz deaktiviert
PfadStandardwertBeschreibung
origin_servers[].labels{}Leeres Labels-Objekt
origin_servers[].public_name.refresh_interval0System-Standard-DNS-Aktualisierung verwenden

Abweichungen zwischen Benutzeroberfläche und Server-Standardwerten

Abschnitt betitelt „Abweichungen zwischen Benutzeroberfläche und Server-Standardwerten“

Die F5 XC-Weboberfläche wählt andere Werte vor als die API anwendet, wenn Felder weggelassen werden.

FeldBenutzeroberfläche vorausgewähltServer angewendetHinweis
loadbalancer_algorithmLB_OVERRIDEROUND_ROBINÜber die Benutzeroberfläche und über die API erstellte Ressourcen unterscheiden sich, wenn das Feld weggelassen wird
WertBeschreibungHinweise
ROUND_ROBINJeder gesunde Endpunkt wird der Reihe nach im Round-Robin-Verfahren ausgewähltServer-Standard
LEAST_REQUESTEndpunkt mit den wenigsten aktiven Anfragen wird ausgewählt
RING_HASHKonsistentes Hashing mittels Ring-Hash der Endpunktnamen
RANDOMZufällige Auswahl eines gesunden Endpunkts
LB_OVERRIDEHash-Richtlinie vom übergeordneten Load Balancer übernommenBenutzeroberflächen-Standard
WertBeschreibungHinweise
DISTRIBUTEDSowohl remote als auch lokale Endpunkte berücksichtigenServer-Standard
LOCAL_ONLYNur lokale Endpunkte werden verwendet
LOCAL_PREFERREDLokale Endpunkte bevorzugen, bei Nichtverfügbarkeit auf remote zurückfallen

Sich gegenseitig ausschließende Feldgruppen. Es kann nur EIN Feld aus jeder Gruppe angegeben werden:

GruppeFelderServer-Standard
Port-Konfigurationport, automatic_port, lb_portport (explizit)
TLS zum Ursprungsserverno_tls, use_tlsno_tls
Health-Check-Portsame_as_endpoint_port, health_check_portsame_as_endpoint_port
Circuit Breakerdefault_circuit_breaker, disable_circuit_breaker, circuit_breakerdefault_circuit_breaker
Ausreißererkennungdisable_outlier_detection, outlier_detectiondisable_outlier_detection
Panic-Schwellenwertno_panic_threshold, panic_thresholdno_panic_threshold
Subset-LBdisable_subsets, enable_subsetsdisable_subsets
HTTP-Protokollauto_http_config, http1_config, http2_optionsauto_http_config
Proxy-Protokolldisable_proxy_protocol, proxy_protocol_v1, proxy_protocol_v2disable_proxy_protocol
LB-Quell-IPdisable_lb_source_ip_persistance, enable_lb_source_ip_persistancedisable_lb_source_ip_persistance
Verbindungspoolenable_conn_pool_reuse, disable_conn_pool_reuseenable_conn_pool_reuse
FeldTypEinschränkung
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 (Prozentsatz)
metadata.namestring1–63 Zeichen, Muster: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$

Die F5 XC-Webkonsole bietet 15 Konfigurationsoptionen für Ursprungsserver-Pools:

#Benutzeroberflächen-LabelAPI-FeldpfadTypServer-Standard
1Ursprungsserver-Portspec.[port|automatic_port|lb_port]OneOfport (explizit)
2Verbindungspool-Wiederverwendungspec.[enable_conn_pool_reuse|disable_conn_pool_reuse]OneOfenable_conn_pool_reuse
3Health-Check-Portspec.advanced_options.[same_as_endpoint_port|health_check_port]OneOfsame_as_endpoint_port
4Load-Balancer-Algorithmusspec.loadbalancer_algorithmenumROUND_ROBIN
5Endpunktauswahlspec.endpoint_selectionenumDISTRIBUTED
6TLS zum Ursprungsserverspec.[no_tls|use_tls]OneOfno_tls
7Verbindungstimeoutspec.advanced_options.connection_timeoutinteger2000 ms
8HTTP-Leerlauf-Timeoutspec.advanced_options.http_idle_timeoutinteger300000 ms
9Circuit Breakerspec.advanced_options.[default_circuit_breaker|disable_circuit_breaker|circuit_breaker]OneOfdefault_circuit_breaker
10Ausreißererkennungspec.advanced_options.[disable_outlier_detection|outlier_detection]OneOfdisable_outlier_detection
11Panic-Schwellenwertspec.advanced_options.[no_panic_threshold|panic_threshold]OneOfno_panic_threshold
12Subset-Lastverteilungspec.advanced_options.[disable_subsets|enable_subsets]OneOfdisable_subsets
13HTTP-Protokollspec.advanced_options.[auto_http_config|http1_config|http2_options]OneOfauto_http_config
14Proxy-Protokollspec.advanced_options.[disable_proxy_protocol|proxy_protocol_v1|proxy_protocol_v2]OneOfdisable_proxy_protocol
15LB-Quell-IP-Persistenzspec.advanced_options.[disable_lb_source_ip_persistance|enable_lb_source_ip_persistance]OneOfdisable_lb_source_ip_persistance
DateiInhalt
docs/specifications/api/virtual.jsonorigin_poolCreateSpecType, origin_poolReplaceSpecType, origin_poolGetSpecType
docs/specifications/api/openapi.jsonZusammengeführte Spezifikation mit allen Schemas
defaults.resources.origin_pool
├── server_applied # Felder mit x-f5xc-server-default: true
├── recommended # Felder mit x-f5xc-recommended-value
├── advanced_options # Verschachtelte advanced_options-Standardwerte
├── oneof_choices # OneOf-Standardauswahlen
└── ui_vs_server # Abweichungen zwischen Benutzeroberfläche und Server

Ursprungsserver können mit verschiedenen Typvarianten angegeben werden. Der Typ bestimmt, welche zusätzlichen Felder erforderlich sind.

TypBeschreibungPflichtfelderStatus
public_nameUrsprungsserver mit öffentlichem DNS-Namendns_name✅ Vollständig
public_ipUrsprungsserver mit öffentlicher IP-Adresseip (IPv4)✅ Vollständig
{
"origin_servers": [
{
"public_name": {
"dns_name": "backend.example.com"
}
}
]
}
{
"origin_servers": [
{
"public_ip": {
"ip": "8.8.8.8"
}
}
]
}

Die folgenden Ursprungsserver-Typen erfordern die Entwicklung von Logik für „site”-Ressourcen, bevor sie implementiert werden können:

TypBeschreibungPflichtfelderStatus
private_ipUrsprungsserver mit privater/öffentlicher IP und Standortinformationenip, site_locator, network_choice, snat_pool🔲 Standortlogik ausstehend
private_nameUrsprungsserver mit DNS-Namen und Standortinformationendns_name, site_locator, network_choice, snat_pool🔲 Standortlogik ausstehend
k8s_serviceKubernetes-Dienst mit Standortinformationenservice_name, site_locator, network_choice🔲 Standortlogik ausstehend
consul_serviceHashiCorp-Consul-Dienst mit Standortinformationenservice_name, site_locator, network_choice🔲 Standortlogik ausstehend

Bevor diese Typen vollständig dokumentiert werden können:

  1. Standortressourcen-Erkennungsite-Ressourcenschema und site_locator-Muster dokumentieren
  2. network_choice-Enum – Eingeschränkte Werte von network_choice dokumentieren (site_local_inside, site_local_outside usw.)
  3. SNAT-Pool-Optionen – SNAT-Pool-Konfigurationsmuster dokumentieren
  4. Ressourcenübergreifende Referenzen – Definieren, wie origin_pool auf site-Ressourcen verweist
  • Konfigurationsplatzhalter: config/discovered_defaults.yamlorigin_pool.origin_server_types.enums
  • Zugehöriger Sprint: Anreicherungen des site-Ressourcenschemas
VersionDatumÄnderungen
2.1.22026-01-18Abschnitt zu Ursprungsserver-Typen mit public_name/public_ip hinzugefügt; TODO-Markierungen für standortabhängige Typen
2.1.12026-01-18Als reine API-Referenz neu geschrieben; nachgelagerte Code-Beispiele entfernt
2.1.02026-01-18Auf einheitliche Standardwerte-Struktur in validation.json aktualisiert
2.0.332026-01-17Erste Dokumentation der Ursprungsserver-Pool-Erweiterungen