diff --git a/pkg/admission/plugin/webhook/config/client.go b/pkg/admission/plugin/webhook/config/client.go index fe7687f69..d520fd032 100644 --- a/pkg/admission/plugin/webhook/config/client.go +++ b/pkg/admission/plugin/webhook/config/client.go @@ -17,6 +17,7 @@ limitations under the License. package config import ( + "context" "encoding/json" "errors" "fmt" @@ -147,9 +148,10 @@ func (cm *ClientManager) HookClient(h *v1beta1.Webhook) (*rest.RESTClient, error delegateDialer := cfg.Dial if delegateDialer == nil { - delegateDialer = net.Dial + var d net.Dialer + delegateDialer = d.DialContext } - cfg.Dial = func(network, addr string) (net.Conn, error) { + cfg.Dial = func(ctx context.Context, network, addr string) (net.Conn, error) { if addr == host { u, err := cm.serviceResolver.ResolveEndpoint(svc.Namespace, svc.Name) if err != nil { @@ -157,7 +159,7 @@ func (cm *ClientManager) HookClient(h *v1beta1.Webhook) (*rest.RESTClient, error } addr = u.Host } - return delegateDialer(network, addr) + return delegateDialer(ctx, network, addr) } return complete(cfg) diff --git a/pkg/storage/storagebackend/factory/etcd2.go b/pkg/storage/storagebackend/factory/etcd2.go index 84b038104..41542ccbe 100644 --- a/pkg/storage/storagebackend/factory/etcd2.go +++ b/pkg/storage/storagebackend/factory/etcd2.go @@ -69,10 +69,10 @@ func newTransportForETCD2(certFile, keyFile, caFile string) (*http.Transport, er // TODO: Determine if transport needs optimization tr := utilnet.SetTransportDefaults(&http.Transport{ Proxy: http.ProxyFromEnvironment, - Dial: (&net.Dialer{ + DialContext: (&net.Dialer{ Timeout: 30 * time.Second, KeepAlive: 30 * time.Second, - }).Dial, + }).DialContext, TLSHandshakeTimeout: 10 * time.Second, MaxIdleConnsPerHost: 500, TLSClientConfig: cfg,