mirror of
https://github.com/kubernetes/kubernetes.git
synced 2026-06-14 20:10:50 -04:00
Previously, the webhook transport was switched from HTTP/2 to HTTP/1.1 to work around HTTP/2's single-connection multiplexing, which prevented concurrent requests from load-balancing across multiple backend pods. However, under HTTP/1.1, connections are kept alive and cached as idle in the transport's pool. Because Go's http.Transport keys its connection cache by the request's URL Host (in this case the service name) and we overrode the DialContext to perform dynamic endpoint resolution, when a new request is sent, if there is an idle connection in the pool matching the service hostname, the connection is reused and the dialer is skipped. |
||
|---|---|---|
| .. | ||
| admission_test.go | ||
| broken_webhook_test.go | ||
| client_auth_test.go | ||
| duplicate_owner_ref_test.go | ||
| invalid_managedFields_test.go | ||
| ip_reuse_test.go | ||
| load_balance_test.go | ||
| main_test.go | ||
| match_conditions_test.go | ||
| mutating_webhook_gvk_conversion_test.go | ||
| reinvocation_test.go | ||
| static_manifest_test.go | ||
| timeout_test.go | ||