Skip to content

Commit 6729bfd

Browse files
committed
use network proxy for proxy subresources
Signed-off-by: Patrik Cyvoct <[email protected]>
1 parent 47511ef commit 6729bfd

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

cmd/kube-apiserver/app/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ go_library(
4949
"//staging/src/k8s.io/apiserver/pkg/endpoints/openapi:go_default_library",
5050
"//staging/src/k8s.io/apiserver/pkg/features:go_default_library",
5151
"//staging/src/k8s.io/apiserver/pkg/server:go_default_library",
52+
"//staging/src/k8s.io/apiserver/pkg/server/egressselector:go_default_library",
5253
"//staging/src/k8s.io/apiserver/pkg/server/filters:go_default_library",
5354
"//staging/src/k8s.io/apiserver/pkg/server/healthz:go_default_library",
5455
"//staging/src/k8s.io/apiserver/pkg/server/options:go_default_library",

cmd/kube-apiserver/app/server.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ import (
4444
"k8s.io/apiserver/pkg/authorization/authorizer"
4545
openapinamer "k8s.io/apiserver/pkg/endpoints/openapi"
4646
genericapiserver "k8s.io/apiserver/pkg/server"
47+
"k8s.io/apiserver/pkg/server/egressselector"
4748
"k8s.io/apiserver/pkg/server/filters"
4849
serveroptions "k8s.io/apiserver/pkg/server/options"
4950
serverstorage "k8s.io/apiserver/pkg/server/storage"
@@ -379,6 +380,16 @@ func CreateKubeAPIServerConfig(
379380
if config.GenericConfig.EgressSelector != nil {
380381
// Use the config.GenericConfig.EgressSelector lookup to find the dialer to connect to the kubelet
381382
config.ExtraConfig.KubeletClientConfig.Lookup = config.GenericConfig.EgressSelector.Lookup
383+
384+
// Use the config.GenericConfig.EgressSelector lookup as the transport used by the "proxy" subresources.
385+
networkContext := egressselector.Cluster.AsNetworkContext()
386+
dialer, err := config.GenericConfig.EgressSelector.Lookup(networkContext)
387+
if err != nil {
388+
return nil, nil, nil, nil, err
389+
}
390+
c := proxyTransport.Clone()
391+
c.DialContext = dialer
392+
config.ExtraConfig.ProxyTransport = c
382393
}
383394

384395
return config, insecureServingInfo, serviceResolver, pluginInitializers, nil

0 commit comments

Comments
 (0)