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、サーバーデフォルトなし |
"name": "my-origin-pool",
"dns_name": "backend.example.com"
x-f5xc-server-default: true が指定されたフィールドは、リクエストから省略された場合に F5 XC API サーバーによって default 値が適用されます。
| フィールド | デフォルト値 | 型 | 説明 |
|---|
no_tls | {} | object | オリジンへの TLS 無効 |
healthcheck | [] | array | ヘルスチェックなし |
loadbalancer_algorithm | ROUND_ROBIN | enum | ラウンドロビン負荷分散 |
endpoint_selection | DISTRIBUTED | enum | すべてのエンドポイントを使用(ローカル+リモート) |
advanced_options が指定されていない場合、サーバーは以下の値が設定されているかのように動作します:
| フィールド | デフォルト値 | 型 | 説明 |
|---|
connection_timeout | 2000 | integer | 接続タイムアウト(ミリ秒) |
http_idle_timeout | 300000 | integer | HTTP アイドルタイムアウト(ミリ秒、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 | {} | object | LB ソース IP 永続化無効 |
| パス | デフォルト値 | 説明 |
|---|
origin_servers[].labels | {} | 空のラベルオブジェクト |
origin_servers[].public_name.refresh_interval | 0 | システムデフォルトの DNS リフレッシュを使用 |
F5 XC Web UI はフィールド省略時に API が適用する値とは異なる値を事前選択します。
| フィールド | UI 事前選択 | サーバー適用 | 備考 |
|---|
loadbalancer_algorithm | LB_OVERRIDE | ROUND_ROBIN | フィールド省略時、UI 作成リソースと API 作成リソースで値が異なる |
| 値 | 説明 | 備考 |
|---|
ROUND_ROBIN | 各ヘルシーなエンドポイントをラウンドロビン順に選択 | サーバーデフォルト |
LEAST_REQUEST | アクティブリクエスト数が最も少ないエンドポイントを選択 | |
RING_HASH | エンドポイント名のリングハッシュを使用した一貫性ハッシュ | |
RANDOM | ランダムにヘルシーなエンドポイントを選択 | |
LB_OVERRIDE | 親ロードバランサーからハッシュポリシーを継承 | UI デフォルト |
| 値 | 説明 | 備考 |
|---|
DISTRIBUTED | リモートおよびローカルエンドポイントを両方考慮 | サーバーデフォルト |
LOCAL_ONLY | ローカルエンドポイントのみ使用 | |
LOCAL_PREFERRED | ローカルを優先し、利用不可の場合はリモートにフォールバック | |
相互排他的なフィールドグループです。各グループからはフィールドを1つのみ指定できます:
| グループ | フィールド | サーバーデフォルト |
|---|
| ポート設定 | port, automatic_port, lb_port | port(明示的) |
| オリジンへの TLS | no_tls, use_tls | no_tls |
| ヘルスチェックポート | same_as_endpoint_port, health_check_port | same_as_endpoint_port |
| サーキットブレーカー | default_circuit_breaker, disable_circuit_breaker, circuit_breaker | default_circuit_breaker |
| 外れ値検出 | disable_outlier_detection, outlier_detection | disable_outlier_detection |
| パニック閾値 | no_panic_threshold, panic_threshold | no_panic_threshold |
| サブセット LB | disable_subsets, enable_subsets | disable_subsets |
| HTTP プロトコル | auto_http_config, http1_config, http2_options | auto_http_config |
| プロキシプロトコル | disable_proxy_protocol, proxy_protocol_v1, proxy_protocol_v2 | disable_proxy_protocol |
| LB ソース IP | disable_lb_source_ip_persistance, enable_lb_source_ip_persistance | disable_lb_source_ip_persistance |
| 接続プール | enable_conn_pool_reuse, disable_conn_pool_reuse | enable_conn_pool_reuse |
| フィールド | 型 | 制約 |
|---|
spec.port | integer | 1〜65535 |
spec.advanced_options.connection_timeout | integer | 0〜1,800,000 ms |
spec.advanced_options.http_idle_timeout | integer | 0〜600,000 ms |
spec.advanced_options.panic_threshold | integer | 0〜100(パーセンテージ) |
metadata.name | string | 1〜63文字、パターン:^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ |
F5 XC Web コンソールはオリジンサーバープールに対して15種類の設定オプションを提供します:
| # | UI ラベル | API フィールドパス | 型 | サーバーデフォルト |
|---|
| 1 | オリジンサーバーポート | spec.[port|automatic_port|lb_port] | OneOf | port(明示的) |
| 2 | 接続プール再利用 | spec.[enable_conn_pool_reuse|disable_conn_pool_reuse] | OneOf | enable_conn_pool_reuse |
| 3 | ヘルスチェックポート | spec.advanced_options.[same_as_endpoint_port|health_check_port] | OneOf | same_as_endpoint_port |
| 4 | ロードバランサーアルゴリズム | spec.loadbalancer_algorithm | enum | ROUND_ROBIN |
| 5 | エンドポイント選択 | spec.endpoint_selection | enum | DISTRIBUTED |
| 6 | オリジンへの TLS | spec.[no_tls|use_tls] | OneOf | no_tls |
| 7 | 接続タイムアウト | spec.advanced_options.connection_timeout | integer | 2000 ms |
| 8 | HTTP アイドルタイムアウト | spec.advanced_options.http_idle_timeout | integer | 300000 ms |
| 9 | サーキットブレーカー | spec.advanced_options.[default_circuit_breaker|disable_circuit_breaker|circuit_breaker] | OneOf | default_circuit_breaker |
| 10 | 外れ値検出 | spec.advanced_options.[disable_outlier_detection|outlier_detection] | OneOf | disable_outlier_detection |
| 11 | パニック閾値 | spec.advanced_options.[no_panic_threshold|panic_threshold] | OneOf | no_panic_threshold |
| 12 | サブセット負荷分散 | spec.advanced_options.[disable_subsets|enable_subsets] | OneOf | disable_subsets |
| 13 | HTTP プロトコル | spec.advanced_options.[auto_http_config|http1_config|http2_options] | OneOf | auto_http_config |
| 14 | プロキシプロトコル | spec.advanced_options.[disable_proxy_protocol|proxy_protocol_v1|proxy_protocol_v2] | OneOf | disable_proxy_protocol |
| 15 | LB ソース IP 永続化 | spec.advanced_options.[disable_lb_source_ip_persistance|enable_lb_source_ip_persistance] | OneOf | disable_lb_source_ip_persistance |
| ファイル | 内容 |
|---|
docs/specifications/api/virtual.json | origin_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) | ✅ 完了 |
"dns_name": "backend.example.com"
以下のオリジンサーバータイプは、実装前に「サイト」リソースロジックの開発が必要です:
| タイプ | 説明 | 必須フィールド | ステータス |
|---|
private_ip | プライベート/パブリック IP とサイト情報を持つオリジンサーバー | ip, site_locator, network_choice, snat_pool | 🔲 サイトロジック待ち |
private_name | DNS 名とサイト情報を持つオリジンサーバー | 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 | 🔲 サイトロジック待ち |
これらのタイプを完全にドキュメント化する前に:
- サイトリソースの探索 -
site リソーススキーマと site_locator パターンのドキュメント化
- ネットワーク選択列挙値 -
network_choice の制約値(site_local_inside、site_local_outside など)のドキュメント化
- SNAT プールオプション - SNAT プール設定パターンのドキュメント化
- クロスリソース参照 - origin_pool がサイトリソースを参照する方法の定義
- 設定プレースホルダー:
config/discovered_defaults.yaml → origin_pool.origin_server_types.enums
- 関連スプリント:サイトリソーススキーマの拡充
| バージョン | 日付 | 変更内容 |
|---|
| 2.1.2 | 2026-01-18 | public_name/public_ip を含むオリジンサーバータイプセクションを追加;サイト依存タイプに TODO マーカーを追加 |
| 2.1.1 | 2026-01-18 | 純粋な API リファレンスとして書き直し;ダウンストリームコード例を削除 |
| 2.1.0 | 2026-01-18 | validation.json の統合デフォルト構造に更新 |
| 2.0.33 | 2026-01-17 | オリジンサーバープール拡張ドキュメントの初版 |