콘텐츠로 이동

오리진 풀 개선 사항

origin_pool 관련 스키마에 대한 보강 메타데이터입니다. 확장 정의는 OpenAPI 확장을 참조하십시오.

origin_pool.*SpecType과 일치하는 모든 스키마는 보강을 적용받습니다:

  • origin_poolCreateSpecType
  • origin_poolReplaceSpecType
  • origin_poolGetSpecType
필드필수 대상비고
metadata.name모든 작업1-63자, 소문자 영숫자, 패턴: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
metadata.namespace모든 작업네임스페이스 식별자
spec.origin_servers생성최소 1개 항목
spec.port생성1-65535, 서버 기본값 없음
{
"metadata": {
"name": "my-origin-pool",
"namespace": "default"
},
"spec": {
"origin_servers": [
{
"public_name": {
"dns_name": "backend.example.com"
}
}
],
"port": 443
}
}

x-f5xc-server-default: true로 표시된 필드는 요청에서 생략될 경우 F5 XC API 서버가 해당 default 값을 적용합니다.

필드기본값유형설명
no_tls{}object오리진에 대한 TLS 비활성화
healthcheck[]array헬스 체크 미구성
loadbalancer_algorithmROUND_ROBINenum라운드 로빈 부하 분산
endpoint_selectionDISTRIBUTEDenum모든 엔드포인트 사용 (로컬 + 원격)

advanced_options가 지정되지 않은 경우, 서버는 다음 값이 설정된 것처럼 동작합니다:

필드기본값유형설명
connection_timeout2000integer연결 타임아웃 (밀리초)
http_idle_timeout300000integerHTTP 유휴 타임아웃 (밀리초, 5분)
same_as_endpoint_port{}object헬스 체크가 엔드포인트 포트 사용
default_circuit_breaker{}object기본 서킷 브레이커 설정
disable_outlier_detection{}object이상값 감지 비활성화
no_panic_threshold{}object패닉 임계값 없음
disable_subsets{}object서브셋 부하 분산 비활성화
auto_http_config{}object자동 HTTP 프로토콜 협상
disable_proxy_protocol{}object프록시 프로토콜 비활성화
disable_lb_source_ip_persistance{}objectLB 소스 IP 지속성 비활성화
경로기본값설명
origin_servers[].labels{}빈 레이블 객체
origin_servers[].public_name.refresh_interval0시스템 기본 DNS 갱신 사용

F5 XC 웹 UI는 필드가 생략될 때 API가 적용하는 값과 다른 값을 미리 선택합니다.

필드UI 미리 선택서버 적용비고
loadbalancer_algorithmLB_OVERRIDEROUND_ROBIN필드 생략 시 UI 생성 리소스와 API 생성 리소스가 다름
설명비고
ROUND_ROBIN정상 엔드포인트를 라운드 로빈 순서로 선택서버 기본값
LEAST_REQUEST활성 요청이 가장 적은 엔드포인트 선택
RING_HASH엔드포인트 이름의 링 해시를 사용한 일관된 해싱
RANDOM무작위 정상 엔드포인트 선택
LB_OVERRIDE상위 로드 밸런서에서 해시 정책 상속UI 기본값
설명비고
DISTRIBUTED원격 및 로컬 엔드포인트 모두 고려서버 기본값
LOCAL_ONLY로컬 엔드포인트만 사용
LOCAL_PREFERRED로컬 우선, 사용 불가 시 원격으로 폴백

상호 배타적 필드 그룹입니다. 각 그룹에서 ONE 필드만 지정할 수 있습니다:

그룹필드서버 기본값
포트 구성port, automatic_port, lb_portport (명시적)
오리진에 대한 TLSno_tls, use_tlsno_tls
헬스 체크 포트same_as_endpoint_port, health_check_portsame_as_endpoint_port
서킷 브레이커default_circuit_breaker, disable_circuit_breaker, circuit_breakerdefault_circuit_breaker
이상값 감지disable_outlier_detection, outlier_detectiondisable_outlier_detection
패닉 임계값no_panic_threshold, panic_thresholdno_panic_threshold
서브셋 LBdisable_subsets, enable_subsetsdisable_subsets
HTTP 프로토콜auto_http_config, http1_config, http2_optionsauto_http_config
프록시 프로토콜disable_proxy_protocol, proxy_protocol_v1, proxy_protocol_v2disable_proxy_protocol
LB 소스 IPdisable_lb_source_ip_persistance, enable_lb_source_ip_persistancedisable_lb_source_ip_persistance
연결 풀enable_conn_pool_reuse, disable_conn_pool_reuseenable_conn_pool_reuse
필드유형제약 조건
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 (백분율)
metadata.namestring1-63자, 패턴: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$

F5 XC 웹 콘솔은 오리진 풀에 대해 15가지 구성 옵션을 제공합니다:

#UI 레이블API 필드 경로유형서버 기본값
1오리진 서버 포트spec.[port|automatic_port|lb_port]OneOfport (명시적)
2연결 풀 재사용spec.[enable_conn_pool_reuse|disable_conn_pool_reuse]OneOfenable_conn_pool_reuse
3헬스 체크 포트spec.advanced_options.[same_as_endpoint_port|health_check_port]OneOfsame_as_endpoint_port
4로드밸런서 알고리즘spec.loadbalancer_algorithmenumROUND_ROBIN
5엔드포인트 선택spec.endpoint_selectionenumDISTRIBUTED
6오리진에 대한 TLSspec.[no_tls|use_tls]OneOfno_tls
7연결 타임아웃spec.advanced_options.connection_timeoutinteger2000 ms
8HTTP 유휴 타임아웃spec.advanced_options.http_idle_timeoutinteger300000 ms
9서킷 브레이커spec.advanced_options.[default_circuit_breaker|disable_circuit_breaker|circuit_breaker]OneOfdefault_circuit_breaker
10이상값 감지spec.advanced_options.[disable_outlier_detection|outlier_detection]OneOfdisable_outlier_detection
11패닉 임계값spec.advanced_options.[no_panic_threshold|panic_threshold]OneOfno_panic_threshold
12서브셋 부하 분산spec.advanced_options.[disable_subsets|enable_subsets]OneOfdisable_subsets
13HTTP 프로토콜spec.advanced_options.[auto_http_config|http1_config|http2_options]OneOfauto_http_config
14프록시 프로토콜spec.advanced_options.[disable_proxy_protocol|proxy_protocol_v1|proxy_protocol_v2]OneOfdisable_proxy_protocol
15LB 소스 IP 지속성spec.advanced_options.[disable_lb_source_ip_persistance|enable_lb_source_ip_persistance]OneOfdisable_lb_source_ip_persistance
파일콘텐츠
docs/specifications/api/virtual.jsonorigin_poolCreateSpecType, origin_poolReplaceSpecType, origin_poolGetSpecType
docs/specifications/api/openapi.json모든 스키마가 포함된 병합 사양
defaults.resources.origin_pool
├── server_applied # x-f5xc-server-default: true인 필드
├── recommended # x-f5xc-recommended-value인 필드
├── advanced_options # 중첩된 advanced_options 기본값
├── oneof_choices # OneOf 기본 선택
└── ui_vs_server # UI와 서버 불일치

오리진 서버는 다양한 유형 변형을 사용하여 지정할 수 있습니다. 유형에 따라 추가로 필요한 필드가 결정됩니다.

유형설명필수 필드상태
public_name공개 DNS 이름을 가진 오리진 서버dns_name✅ 완료
public_ip공개 IP 주소를 가진 오리진 서버ip (IPv4)✅ 완료
{
"origin_servers": [
{
"public_name": {
"dns_name": "backend.example.com"
}
}
]
}
{
"origin_servers": [
{
"public_ip": {
"ip": "8.8.8.8"
}
}
]
}

TODO: 사이트 의존적 오리진 서버 유형

섹션 제목: “TODO: 사이트 의존적 오리진 서버 유형”

다음 오리진 서버 유형은 구현 전에 “사이트” 리소스 로직 개발이 필요합니다:

유형설명필수 필드상태
private_ip사설/공개 IP 및 사이트 정보를 가진 오리진 서버ip, site_locator, network_choice, snat_pool🔲 사이트 로직 대기 중
private_nameDNS 이름 및 사이트 정보를 가진 오리진 서버dns_name, site_locator, network_choice, snat_pool🔲 사이트 로직 대기 중
k8s_service사이트 정보를 가진 Kubernetes 서비스service_name, site_locator, network_choice🔲 사이트 로직 대기 중
consul_service사이트 정보를 가진 HashiCorp Consul 서비스service_name, site_locator, network_choice🔲 사이트 로직 대기 중

이러한 유형이 완전히 문서화되기 전에 필요한 사항:

  1. 사이트 리소스 탐색 - site 리소스 스키마 및 site_locator 패턴 문서화
  2. 네트워크 선택 열거형 - network_choice 제한 값 문서화 (site_local_inside, site_local_outside 등)
  3. SNAT 풀 옵션 - SNAT 풀 구성 패턴 문서화
  4. 교차 리소스 참조 - origin_pool이 사이트 리소스를 참조하는 방법 정의
  • 구성 플레이스홀더: config/discovered_defaults.yamlorigin_pool.origin_server_types.enums
  • 관련 스프린트: 사이트 리소스 스키마 보강
버전날짜변경 사항
2.1.22026-01-18public_name/public_ip를 포함한 오리진 서버 유형 섹션 추가; 사이트 의존적 유형에 대한 TODO 마커
2.1.12026-01-18순수 API 참조로 재작성; 다운스트림 코드 예시 제거
2.1.02026-01-18validation.json의 통합 기본값 구조로 업데이트
2.0.332026-01-17오리진 풀 개선 사항 문서 초기 작성