コンテンツにスキップ

オリジンサーバープールの拡張

origin_pool 関連スキーマの拡充メタデータです。拡張定義については OpenAPI Extensions を参照してください。

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{}objectHTTP プロトコルの自動ネゴシエーション
disable_proxy_protocol{}objectプロキシプロトコル無効
disable_lb_source_ip_persistance{}objectLB ソース IP 永続化無効

ネストされたオブジェクトのデフォルト

Section titled “ネストされたオブジェクトのデフォルト”
パスデフォルト値説明
origin_servers[].labels{}空のラベルオブジェクト
origin_servers[].public_name.refresh_interval0システムデフォルトの DNS リフレッシュを使用

UI とサーバーデフォルトの相違点

Section titled “UI とサーバーデフォルトの相違点”

F5 XC Web UI はフィールド省略時に API が適用する値とは異なる値を事前選択します。

フィールドUI 事前選択サーバー適用備考
loadbalancer_algorithmLB_OVERRIDEROUND_ROBINフィールド省略時、UI 作成リソースと API 作成リソースで値が異なる
説明備考
ROUND_ROBIN各ヘルシーなエンドポイントをラウンドロビン順に選択サーバーデフォルト
LEAST_REQUESTアクティブリクエスト数が最も少ないエンドポイントを選択
RING_HASHエンドポイント名のリングハッシュを使用した一貫性ハッシュ
RANDOMランダムにヘルシーなエンドポイントを選択
LB_OVERRIDE親ロードバランサーからハッシュポリシーを継承UI デフォルト
説明備考
DISTRIBUTEDリモートおよびローカルエンドポイントを両方考慮サーバーデフォルト
LOCAL_ONLYローカルエンドポイントのみ使用
LOCAL_PREFERREDローカルを優先し、利用不可の場合はリモートにフォールバック

相互排他的なフィールドグループです。各グループからはフィールドを1つのみ指定できます:

グループフィールドサーバーデフォルト
ポート設定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 Web コンソールはオリジンサーバープールに対して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:サイト依存のオリジンサーバータイプ

Section titled “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オリジンサーバープール拡張ドキュメントの初版