Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
7d09148a
Commit
7d09148a
authored
Sep 06, 2017
by
Dr. Stefan Schimanski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
apiserver: separate apiserver specific configs into ExtraConfig
parent
eda3db55
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
162 additions
and
130 deletions
+162
-130
aggregator.go
cmd/kube-apiserver/app/aggregator.go
+7
-5
apiextensions.go
cmd/kube-apiserver/app/apiextensions.go
+3
-2
server.go
cmd/kube-apiserver/app/server.go
+28
-27
controller.go
pkg/master/controller.go
+9
-9
master.go
pkg/master/master.go
+35
-32
master_test.go
pkg/master/master_test.go
+18
-16
apiserver.go
...k8s.io/apiextensions-apiserver/pkg/apiserver/apiserver.go
+6
-2
start.go
...rc/k8s.io/apiextensions-apiserver/pkg/cmd/server/start.go
+4
-2
registration_test.go
...xtensions-apiserver/test/integration/registration_test.go
+1
-1
start.go
...extensions-apiserver/test/integration/testserver/start.go
+4
-2
apiserver.go
...ing/src/k8s.io/kube-aggregator/pkg/apiserver/apiserver.go
+14
-11
start.go
staging/src/k8s.io/kube-aggregator/pkg/cmd/server/start.go
+7
-5
apiserver.go
...ng/src/k8s.io/sample-apiserver/pkg/apiserver/apiserver.go
+5
-0
start.go
staging/src/k8s.io/sample-apiserver/pkg/cmd/server/start.go
+1
-0
apiserver_test.go
test/integration/apiserver/apiserver_test.go
+1
-1
rbac_test.go
test/integration/auth/rbac_test.go
+1
-1
etcd_storage_path_test.go
test/integration/etcd/etcd_storage_path_test.go
+1
-1
master_utils.go
test/integration/framework/master_utils.go
+11
-9
master_test.go
test/integration/master/master_test.go
+1
-1
openshift_test.go
test/integration/openshift/openshift_test.go
+5
-3
No files found.
cmd/kube-apiserver/app/aggregator.go
View file @
7d09148a
...
@@ -77,11 +77,13 @@ func createAggregatorConfig(kubeAPIServerConfig genericapiserver.Config, command
...
@@ -77,11 +77,13 @@ func createAggregatorConfig(kubeAPIServerConfig genericapiserver.Config, command
aggregatorConfig
:=
&
aggregatorapiserver
.
Config
{
aggregatorConfig
:=
&
aggregatorapiserver
.
Config
{
GenericConfig
:
&
genericConfig
,
GenericConfig
:
&
genericConfig
,
CoreKubeInformers
:
externalInformers
,
ExtraConfig
:
aggregatorapiserver
.
ExtraConfig
{
ProxyClientCert
:
certBytes
,
CoreKubeInformers
:
externalInformers
,
ProxyClientKey
:
keyBytes
,
ProxyClientCert
:
certBytes
,
ServiceResolver
:
serviceResolver
,
ProxyClientKey
:
keyBytes
,
ProxyTransport
:
proxyTransport
,
ServiceResolver
:
serviceResolver
,
ProxyTransport
:
proxyTransport
,
},
}
}
return
aggregatorConfig
,
nil
return
aggregatorConfig
,
nil
...
...
cmd/kube-apiserver/app/apiextensions.go
View file @
7d09148a
...
@@ -41,11 +41,12 @@ func createAPIExtensionsConfig(kubeAPIServerConfig genericapiserver.Config, comm
...
@@ -41,11 +41,12 @@ func createAPIExtensionsConfig(kubeAPIServerConfig genericapiserver.Config, comm
apiextensionsConfig
:=
&
apiextensionsapiserver
.
Config
{
apiextensionsConfig
:=
&
apiextensionsapiserver
.
Config
{
GenericConfig
:
&
genericConfig
,
GenericConfig
:
&
genericConfig
,
CRDRESTOptionsGetter
:
apiextensionscmd
.
NewCRDRESTOptionsGetter
(
etcdOptions
),
ExtraConfig
:
apiextensionsapiserver
.
ExtraConfig
{
CRDRESTOptionsGetter
:
apiextensionscmd
.
NewCRDRESTOptionsGetter
(
etcdOptions
),
},
}
}
return
apiextensionsConfig
,
nil
return
apiextensionsConfig
,
nil
}
}
func
createAPIExtensionsServer
(
apiextensionsConfig
*
apiextensionsapiserver
.
Config
,
delegateAPIServer
genericapiserver
.
DelegationTarget
)
(
*
apiextensionsapiserver
.
CustomResourceDefinitions
,
error
)
{
func
createAPIExtensionsServer
(
apiextensionsConfig
*
apiextensionsapiserver
.
Config
,
delegateAPIServer
genericapiserver
.
DelegationTarget
)
(
*
apiextensionsapiserver
.
CustomResourceDefinitions
,
error
)
{
...
...
cmd/kube-apiserver/app/server.go
View file @
7d09148a
...
@@ -172,8 +172,8 @@ func CreateServerChain(runOptions *options.ServerRunOptions, stopCh <-chan struc
...
@@ -172,8 +172,8 @@ func CreateServerChain(runOptions *options.ServerRunOptions, stopCh <-chan struc
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
aggregatorConfig
.
ProxyTransport
=
proxyTransport
aggregatorConfig
.
ExtraConfig
.
ProxyTransport
=
proxyTransport
aggregatorConfig
.
ServiceResolver
=
serviceResolver
aggregatorConfig
.
ExtraConfig
.
ServiceResolver
=
serviceResolver
aggregatorServer
,
err
:=
createAggregatorServer
(
aggregatorConfig
,
kubeAPIServer
.
GenericAPIServer
,
apiExtensionsServer
.
Informers
)
aggregatorServer
,
err
:=
createAggregatorServer
(
aggregatorConfig
,
kubeAPIServer
.
GenericAPIServer
,
apiExtensionsServer
.
Informers
)
if
err
!=
nil
{
if
err
!=
nil
{
// we don't need special handling for innerStopCh because the aggregator server doesn't create any go routines
// we don't need special handling for innerStopCh because the aggregator server doesn't create any go routines
...
@@ -312,40 +312,41 @@ func CreateKubeAPIServerConfig(s *options.ServerRunOptions, nodeTunneler tunnele
...
@@ -312,40 +312,41 @@ func CreateKubeAPIServerConfig(s *options.ServerRunOptions, nodeTunneler tunnele
config
:=
&
master
.
Config
{
config
:=
&
master
.
Config
{
GenericConfig
:
genericConfig
,
GenericConfig
:
genericConfig
,
ExtraConfig
:
master
.
ExtraConfig
{
ClientCARegistrationHook
:
master
.
ClientCARegistrationHook
{
ClientCA
:
clientCA
,
RequestHeaderUsernameHeaders
:
s
.
Authentication
.
RequestHeader
.
UsernameHeaders
,
RequestHeaderGroupHeaders
:
s
.
Authentication
.
RequestHeader
.
GroupHeaders
,
RequestHeaderExtraHeaderPrefixes
:
s
.
Authentication
.
RequestHeader
.
ExtraHeaderPrefixes
,
RequestHeaderCA
:
requestHeaderProxyCA
,
RequestHeaderAllowedNames
:
s
.
Authentication
.
RequestHeader
.
AllowedNames
,
},
ClientCARegistrationHook
:
master
.
ClientCARegistrationHook
{
APIResourceConfigSource
:
storageFactory
.
APIResourceConfigSource
,
ClientCA
:
clientCA
,
StorageFactory
:
storageFactory
,
RequestHeaderUsernameHeaders
:
s
.
Authentication
.
RequestHeader
.
UsernameHeaders
,
EnableCoreControllers
:
true
,
RequestHeaderGroupHeaders
:
s
.
Authentication
.
RequestHeader
.
GroupHeaders
,
EventTTL
:
s
.
EventTTL
,
RequestHeaderExtraHeaderPrefixes
:
s
.
Authentication
.
RequestHeader
.
ExtraHeaderPrefixes
,
KubeletClientConfig
:
s
.
KubeletConfig
,
RequestHeaderCA
:
requestHeaderProxyCA
,
EnableUISupport
:
true
,
RequestHeaderAllowedNames
:
s
.
Authentication
.
RequestHeader
.
AllowedNames
,
EnableLogsSupport
:
s
.
EnableLogsHandler
,
},
ProxyTransport
:
proxyTransport
,
APIResourceConfigSource
:
storageFactory
.
APIResourceConfigSource
,
StorageFactory
:
storageFactory
,
EnableCoreControllers
:
true
,
EventTTL
:
s
.
EventTTL
,
KubeletClientConfig
:
s
.
KubeletConfig
,
EnableUISupport
:
true
,
EnableLogsSupport
:
s
.
EnableLogsHandler
,
ProxyTransport
:
proxyTransport
,
Tunneler
:
nodeTunneler
,
Tunneler
:
nodeTunneler
,
ServiceIPRange
:
serviceIPRange
,
ServiceIPRange
:
serviceIPRange
,
APIServerServiceIP
:
apiServerServiceIP
,
APIServerServiceIP
:
apiServerServiceIP
,
APIServerServicePort
:
443
,
APIServerServicePort
:
443
,
ServiceNodePortRange
:
s
.
ServiceNodePortRange
,
ServiceNodePortRange
:
s
.
ServiceNodePortRange
,
KubernetesServiceNodePort
:
s
.
KubernetesServiceNodePort
,
KubernetesServiceNodePort
:
s
.
KubernetesServiceNodePort
,
MasterCount
:
s
.
MasterCount
,
MasterCount
:
s
.
MasterCount
,
},
}
}
if
nodeTunneler
!=
nil
{
if
nodeTunneler
!=
nil
{
// Use the nodeTunneler's dialer to connect to the kubelet
// Use the nodeTunneler's dialer to connect to the kubelet
config
.
KubeletClientConfig
.
Dial
=
nodeTunneler
.
Dial
config
.
ExtraConfig
.
KubeletClientConfig
.
Dial
=
nodeTunneler
.
Dial
}
}
return
config
,
sharedInformers
,
versionedInformers
,
insecureServingOptions
,
serviceResolver
,
nil
return
config
,
sharedInformers
,
versionedInformers
,
insecureServingOptions
,
serviceResolver
,
nil
...
...
pkg/master/controller.go
View file @
7d09148a
...
@@ -82,28 +82,28 @@ func (c *Config) NewBootstrapController(legacyRESTStorage corerest.LegacyRESTSto
...
@@ -82,28 +82,28 @@ func (c *Config) NewBootstrapController(legacyRESTStorage corerest.LegacyRESTSto
ServiceClient
:
serviceClient
,
ServiceClient
:
serviceClient
,
NamespaceClient
:
nsClient
,
NamespaceClient
:
nsClient
,
EndpointReconciler
:
c
.
EndpointReconcilerConfig
.
Reconciler
,
EndpointReconciler
:
c
.
E
xtraConfig
.
E
ndpointReconcilerConfig
.
Reconciler
,
EndpointInterval
:
c
.
EndpointReconcilerConfig
.
Interval
,
EndpointInterval
:
c
.
E
xtraConfig
.
E
ndpointReconcilerConfig
.
Interval
,
SystemNamespaces
:
[]
string
{
metav1
.
NamespaceSystem
,
metav1
.
NamespacePublic
},
SystemNamespaces
:
[]
string
{
metav1
.
NamespaceSystem
,
metav1
.
NamespacePublic
},
SystemNamespacesInterval
:
1
*
time
.
Minute
,
SystemNamespacesInterval
:
1
*
time
.
Minute
,
ServiceClusterIPRegistry
:
legacyRESTStorage
.
ServiceClusterIPAllocator
,
ServiceClusterIPRegistry
:
legacyRESTStorage
.
ServiceClusterIPAllocator
,
ServiceClusterIPRange
:
c
.
ServiceIPRange
,
ServiceClusterIPRange
:
c
.
ExtraConfig
.
ServiceIPRange
,
ServiceClusterIPInterval
:
3
*
time
.
Minute
,
ServiceClusterIPInterval
:
3
*
time
.
Minute
,
ServiceNodePortRegistry
:
legacyRESTStorage
.
ServiceNodePortAllocator
,
ServiceNodePortRegistry
:
legacyRESTStorage
.
ServiceNodePortAllocator
,
ServiceNodePortRange
:
c
.
ServiceNodePortRange
,
ServiceNodePortRange
:
c
.
ExtraConfig
.
ServiceNodePortRange
,
ServiceNodePortInterval
:
3
*
time
.
Minute
,
ServiceNodePortInterval
:
3
*
time
.
Minute
,
PublicIP
:
c
.
GenericConfig
.
PublicAddress
,
PublicIP
:
c
.
GenericConfig
.
PublicAddress
,
ServiceIP
:
c
.
APIServerServiceIP
,
ServiceIP
:
c
.
ExtraConfig
.
APIServerServiceIP
,
ServicePort
:
c
.
APIServerServicePort
,
ServicePort
:
c
.
ExtraConfig
.
APIServerServicePort
,
ExtraServicePorts
:
c
.
ExtraServicePorts
,
ExtraServicePorts
:
c
.
Extra
Config
.
Extra
ServicePorts
,
ExtraEndpointPorts
:
c
.
ExtraEndpointPorts
,
ExtraEndpointPorts
:
c
.
Extra
Config
.
Extra
EndpointPorts
,
PublicServicePort
:
c
.
GenericConfig
.
ReadWritePort
,
PublicServicePort
:
c
.
GenericConfig
.
ReadWritePort
,
KubernetesServiceNodePort
:
c
.
KubernetesServiceNodePort
,
KubernetesServiceNodePort
:
c
.
ExtraConfig
.
KubernetesServiceNodePort
,
}
}
}
}
...
...
pkg/master/master.go
View file @
7d09148a
...
@@ -85,9 +85,7 @@ const (
...
@@ -85,9 +85,7 @@ const (
DefaultEndpointReconcilerInterval
=
10
*
time
.
Second
DefaultEndpointReconcilerInterval
=
10
*
time
.
Second
)
)
type
Config
struct
{
type
ExtraConfig
struct
{
GenericConfig
*
genericapiserver
.
Config
ClientCARegistrationHook
ClientCARegistrationHook
ClientCARegistrationHook
ClientCARegistrationHook
APIResourceConfigSource
serverstorage
.
APIResourceConfigSource
APIResourceConfigSource
serverstorage
.
APIResourceConfigSource
...
@@ -135,6 +133,11 @@ type Config struct {
...
@@ -135,6 +133,11 @@ type Config struct {
MasterCount
int
MasterCount
int
}
}
type
Config
struct
{
GenericConfig
*
genericapiserver
.
Config
ExtraConfig
ExtraConfig
}
// EndpointReconcilerConfig holds the endpoint reconciler and endpoint reconciliation interval to be
// EndpointReconcilerConfig holds the endpoint reconciler and endpoint reconciliation interval to be
// used by the master.
// used by the master.
type
EndpointReconcilerConfig
struct
{
type
EndpointReconcilerConfig
struct
{
...
@@ -157,42 +160,42 @@ type completedConfig struct {
...
@@ -157,42 +160,42 @@ type completedConfig struct {
func
(
c
*
Config
)
Complete
()
completedConfig
{
func
(
c
*
Config
)
Complete
()
completedConfig
{
c
.
GenericConfig
.
Complete
()
c
.
GenericConfig
.
Complete
()
serviceIPRange
,
apiServerServiceIP
,
err
:=
DefaultServiceIPRange
(
c
.
ServiceIPRange
)
serviceIPRange
,
apiServerServiceIP
,
err
:=
DefaultServiceIPRange
(
c
.
ExtraConfig
.
ServiceIPRange
)
if
err
!=
nil
{
if
err
!=
nil
{
glog
.
Fatalf
(
"Error determining service IP ranges: %v"
,
err
)
glog
.
Fatalf
(
"Error determining service IP ranges: %v"
,
err
)
}
}
if
c
.
ServiceIPRange
.
IP
==
nil
{
if
c
.
ExtraConfig
.
ServiceIPRange
.
IP
==
nil
{
c
.
ServiceIPRange
=
serviceIPRange
c
.
ExtraConfig
.
ServiceIPRange
=
serviceIPRange
}
}
if
c
.
APIServerServiceIP
==
nil
{
if
c
.
ExtraConfig
.
APIServerServiceIP
==
nil
{
c
.
APIServerServiceIP
=
apiServerServiceIP
c
.
ExtraConfig
.
APIServerServiceIP
=
apiServerServiceIP
}
}
discoveryAddresses
:=
discovery
.
DefaultAddresses
{
DefaultAddress
:
c
.
GenericConfig
.
ExternalAddress
}
discoveryAddresses
:=
discovery
.
DefaultAddresses
{
DefaultAddress
:
c
.
GenericConfig
.
ExternalAddress
}
discoveryAddresses
.
CIDRRules
=
append
(
discoveryAddresses
.
CIDRRules
,
discoveryAddresses
.
CIDRRules
=
append
(
discoveryAddresses
.
CIDRRules
,
discovery
.
CIDRRule
{
IPRange
:
c
.
ServiceIPRange
,
Address
:
net
.
JoinHostPort
(
c
.
APIServerServiceIP
.
String
(),
strconv
.
Itoa
(
c
.
APIServerServicePort
))})
discovery
.
CIDRRule
{
IPRange
:
c
.
ExtraConfig
.
ServiceIPRange
,
Address
:
net
.
JoinHostPort
(
c
.
ExtraConfig
.
APIServerServiceIP
.
String
(),
strconv
.
Itoa
(
c
.
ExtraConfig
.
APIServerServicePort
))})
c
.
GenericConfig
.
DiscoveryAddresses
=
discoveryAddresses
c
.
GenericConfig
.
DiscoveryAddresses
=
discoveryAddresses
if
c
.
ServiceNodePortRange
.
Size
==
0
{
if
c
.
ExtraConfig
.
ServiceNodePortRange
.
Size
==
0
{
// TODO: Currently no way to specify an empty range (do we need to allow this?)
// TODO: Currently no way to specify an empty range (do we need to allow this?)
// We should probably allow this for clouds that don't require NodePort to do load-balancing (GCE)
// We should probably allow this for clouds that don't require NodePort to do load-balancing (GCE)
// but then that breaks the strict nestedness of ServiceType.
// but then that breaks the strict nestedness of ServiceType.
// Review post-v1
// Review post-v1
c
.
ServiceNodePortRange
=
options
.
DefaultServiceNodePortRange
c
.
ExtraConfig
.
ServiceNodePortRange
=
options
.
DefaultServiceNodePortRange
glog
.
Infof
(
"Node port range unspecified. Defaulting to %v."
,
c
.
ServiceNodePortRange
)
glog
.
Infof
(
"Node port range unspecified. Defaulting to %v."
,
c
.
ExtraConfig
.
ServiceNodePortRange
)
}
}
// enable swagger UI only if general UI support is on
// enable swagger UI only if general UI support is on
c
.
GenericConfig
.
EnableSwaggerUI
=
c
.
GenericConfig
.
EnableSwaggerUI
&&
c
.
EnableUISupport
c
.
GenericConfig
.
EnableSwaggerUI
=
c
.
GenericConfig
.
EnableSwaggerUI
&&
c
.
E
xtraConfig
.
E
nableUISupport
if
c
.
EndpointReconcilerConfig
.
Interval
==
0
{
if
c
.
E
xtraConfig
.
E
ndpointReconcilerConfig
.
Interval
==
0
{
c
.
EndpointReconcilerConfig
.
Interval
=
DefaultEndpointReconcilerInterval
c
.
E
xtraConfig
.
E
ndpointReconcilerConfig
.
Interval
=
DefaultEndpointReconcilerInterval
}
}
if
c
.
EndpointReconcilerConfig
.
Reconciler
==
nil
{
if
c
.
E
xtraConfig
.
E
ndpointReconcilerConfig
.
Reconciler
==
nil
{
// use a default endpoint reconciler if nothing is set
// use a default endpoint reconciler if nothing is set
endpointClient
:=
coreclient
.
NewForConfigOrDie
(
c
.
GenericConfig
.
LoopbackClientConfig
)
endpointClient
:=
coreclient
.
NewForConfigOrDie
(
c
.
GenericConfig
.
LoopbackClientConfig
)
c
.
E
ndpointReconcilerConfig
.
Reconciler
=
NewMasterCountEndpointReconciler
(
c
.
MasterCount
,
endpointClient
)
c
.
E
xtraConfig
.
EndpointReconcilerConfig
.
Reconciler
=
NewMasterCountEndpointReconciler
(
c
.
ExtraConfig
.
MasterCount
,
endpointClient
)
}
}
// this has always been hardcoded true in the past
// this has always been hardcoded true in the past
...
@@ -211,7 +214,7 @@ func (c *Config) SkipComplete() completedConfig {
...
@@ -211,7 +214,7 @@ func (c *Config) SkipComplete() completedConfig {
// Certain config fields must be specified, including:
// Certain config fields must be specified, including:
// KubeletClientConfig
// KubeletClientConfig
func
(
c
completedConfig
)
New
(
delegationTarget
genericapiserver
.
DelegationTarget
)
(
*
Master
,
error
)
{
func
(
c
completedConfig
)
New
(
delegationTarget
genericapiserver
.
DelegationTarget
)
(
*
Master
,
error
)
{
if
reflect
.
DeepEqual
(
c
.
KubeletClientConfig
,
kubeletclient
.
KubeletClientConfig
{})
{
if
reflect
.
DeepEqual
(
c
.
ExtraConfig
.
KubeletClientConfig
,
kubeletclient
.
KubeletClientConfig
{})
{
return
nil
,
fmt
.
Errorf
(
"Master.New() called with empty config.KubeletClientConfig"
)
return
nil
,
fmt
.
Errorf
(
"Master.New() called with empty config.KubeletClientConfig"
)
}
}
...
@@ -220,10 +223,10 @@ func (c completedConfig) New(delegationTarget genericapiserver.DelegationTarget)
...
@@ -220,10 +223,10 @@ func (c completedConfig) New(delegationTarget genericapiserver.DelegationTarget)
return
nil
,
err
return
nil
,
err
}
}
if
c
.
EnableUISupport
{
if
c
.
E
xtraConfig
.
E
nableUISupport
{
routes
.
UIRedirect
{}
.
Install
(
s
.
Handler
.
NonGoRestfulMux
)
routes
.
UIRedirect
{}
.
Install
(
s
.
Handler
.
NonGoRestfulMux
)
}
}
if
c
.
EnableLogsSupport
{
if
c
.
E
xtraConfig
.
E
nableLogsSupport
{
routes
.
Logs
{}
.
Install
(
s
.
Handler
.
GoRestfulContainer
)
routes
.
Logs
{}
.
Install
(
s
.
Handler
.
GoRestfulContainer
)
}
}
...
@@ -232,14 +235,14 @@ func (c completedConfig) New(delegationTarget genericapiserver.DelegationTarget)
...
@@ -232,14 +235,14 @@ func (c completedConfig) New(delegationTarget genericapiserver.DelegationTarget)
}
}
// install legacy rest storage
// install legacy rest storage
if
c
.
APIResourceConfigSource
.
AnyResourcesForVersionEnabled
(
apiv1
.
SchemeGroupVersion
)
{
if
c
.
ExtraConfig
.
APIResourceConfigSource
.
AnyResourcesForVersionEnabled
(
apiv1
.
SchemeGroupVersion
)
{
legacyRESTStorageProvider
:=
corerest
.
LegacyRESTStorageProvider
{
legacyRESTStorageProvider
:=
corerest
.
LegacyRESTStorageProvider
{
StorageFactory
:
c
.
StorageFactory
,
StorageFactory
:
c
.
ExtraConfig
.
StorageFactory
,
ProxyTransport
:
c
.
ProxyTransport
,
ProxyTransport
:
c
.
ExtraConfig
.
ProxyTransport
,
KubeletClientConfig
:
c
.
KubeletClientConfig
,
KubeletClientConfig
:
c
.
ExtraConfig
.
KubeletClientConfig
,
EventTTL
:
c
.
EventTTL
,
EventTTL
:
c
.
E
xtraConfig
.
E
ventTTL
,
ServiceIPRange
:
c
.
ServiceIPRange
,
ServiceIPRange
:
c
.
ExtraConfig
.
ServiceIPRange
,
ServiceNodePortRange
:
c
.
ServiceNodePortRange
,
ServiceNodePortRange
:
c
.
ExtraConfig
.
ServiceNodePortRange
,
LoopbackClientConfig
:
c
.
GenericConfig
.
LoopbackClientConfig
,
LoopbackClientConfig
:
c
.
GenericConfig
.
LoopbackClientConfig
,
}
}
m
.
InstallLegacyAPI
(
c
.
Config
,
c
.
Config
.
GenericConfig
.
RESTOptionsGetter
,
legacyRESTStorageProvider
)
m
.
InstallLegacyAPI
(
c
.
Config
,
c
.
Config
.
GenericConfig
.
RESTOptionsGetter
,
legacyRESTStorageProvider
)
...
@@ -270,13 +273,13 @@ func (c completedConfig) New(delegationTarget genericapiserver.DelegationTarget)
...
@@ -270,13 +273,13 @@ func (c completedConfig) New(delegationTarget genericapiserver.DelegationTarget)
appsrest
.
RESTStorageProvider
{},
appsrest
.
RESTStorageProvider
{},
admissionregistrationrest
.
RESTStorageProvider
{},
admissionregistrationrest
.
RESTStorageProvider
{},
}
}
m
.
InstallAPIs
(
c
.
Config
.
APIResourceConfigSource
,
c
.
Config
.
GenericConfig
.
RESTOptionsGetter
,
restStorageProviders
...
)
m
.
InstallAPIs
(
c
.
ExtraConfig
.
APIResourceConfigSource
,
c
.
GenericConfig
.
RESTOptionsGetter
,
restStorageProviders
...
)
if
c
.
Tunneler
!=
nil
{
if
c
.
ExtraConfig
.
Tunneler
!=
nil
{
m
.
installTunneler
(
c
.
Tunneler
,
corev1client
.
NewForConfigOrDie
(
c
.
GenericConfig
.
LoopbackClientConfig
)
.
Nodes
())
m
.
installTunneler
(
c
.
ExtraConfig
.
Tunneler
,
corev1client
.
NewForConfigOrDie
(
c
.
GenericConfig
.
LoopbackClientConfig
)
.
Nodes
())
}
}
m
.
GenericAPIServer
.
AddPostStartHookOrDie
(
"ca-registration"
,
c
.
ClientCARegistrationHook
.
PostStartHook
)
m
.
GenericAPIServer
.
AddPostStartHookOrDie
(
"ca-registration"
,
c
.
ExtraConfig
.
ClientCARegistrationHook
.
PostStartHook
)
return
m
,
nil
return
m
,
nil
}
}
...
@@ -287,7 +290,7 @@ func (m *Master) InstallLegacyAPI(c *Config, restOptionsGetter generic.RESTOptio
...
@@ -287,7 +290,7 @@ func (m *Master) InstallLegacyAPI(c *Config, restOptionsGetter generic.RESTOptio
glog
.
Fatalf
(
"Error building core storage: %v"
,
err
)
glog
.
Fatalf
(
"Error building core storage: %v"
,
err
)
}
}
if
c
.
EnableCoreControllers
{
if
c
.
E
xtraConfig
.
E
nableCoreControllers
{
coreClient
:=
coreclient
.
NewForConfigOrDie
(
c
.
GenericConfig
.
LoopbackClientConfig
)
coreClient
:=
coreclient
.
NewForConfigOrDie
(
c
.
GenericConfig
.
LoopbackClientConfig
)
bootstrapController
:=
c
.
NewBootstrapController
(
legacyRESTStorage
,
coreClient
,
coreClient
)
bootstrapController
:=
c
.
NewBootstrapController
(
legacyRESTStorage
,
coreClient
,
coreClient
)
m
.
GenericAPIServer
.
AddPostStartHookOrDie
(
"bootstrap-controller"
,
bootstrapController
.
PostStartHook
)
m
.
GenericAPIServer
.
AddPostStartHookOrDie
(
"bootstrap-controller"
,
bootstrapController
.
PostStartHook
)
...
...
pkg/master/master_test.go
View file @
7d09148a
...
@@ -71,9 +71,11 @@ func setUp(t *testing.T) (*etcdtesting.EtcdTestServer, Config, *assert.Assertion
...
@@ -71,9 +71,11 @@ func setUp(t *testing.T) (*etcdtesting.EtcdTestServer, Config, *assert.Assertion
config
:=
&
Config
{
config
:=
&
Config
{
GenericConfig
:
genericapiserver
.
NewConfig
(
api
.
Codecs
),
GenericConfig
:
genericapiserver
.
NewConfig
(
api
.
Codecs
),
APIResourceConfigSource
:
DefaultAPIResourceConfigSource
(),
ExtraConfig
:
ExtraConfig
{
APIServerServicePort
:
443
,
APIResourceConfigSource
:
DefaultAPIResourceConfigSource
(),
MasterCount
:
1
,
APIServerServicePort
:
443
,
MasterCount
:
1
,
},
}
}
resourceEncoding
:=
serverstorage
.
NewDefaultResourceEncodingConfig
(
api
.
Registry
)
resourceEncoding
:=
serverstorage
.
NewDefaultResourceEncodingConfig
(
api
.
Registry
)
...
@@ -95,16 +97,16 @@ func setUp(t *testing.T) (*etcdtesting.EtcdTestServer, Config, *assert.Assertion
...
@@ -95,16 +97,16 @@ func setUp(t *testing.T) (*etcdtesting.EtcdTestServer, Config, *assert.Assertion
kubeVersion
:=
kubeversion
.
Get
()
kubeVersion
:=
kubeversion
.
Get
()
config
.
GenericConfig
.
Version
=
&
kubeVersion
config
.
GenericConfig
.
Version
=
&
kubeVersion
config
.
StorageFactory
=
storageFactory
config
.
ExtraConfig
.
StorageFactory
=
storageFactory
config
.
GenericConfig
.
LoopbackClientConfig
=
&
restclient
.
Config
{
APIPath
:
"/api"
,
ContentConfig
:
restclient
.
ContentConfig
{
NegotiatedSerializer
:
api
.
Codecs
}}
config
.
GenericConfig
.
LoopbackClientConfig
=
&
restclient
.
Config
{
APIPath
:
"/api"
,
ContentConfig
:
restclient
.
ContentConfig
{
NegotiatedSerializer
:
api
.
Codecs
}}
config
.
GenericConfig
.
PublicAddress
=
net
.
ParseIP
(
"192.168.10.4"
)
config
.
GenericConfig
.
PublicAddress
=
net
.
ParseIP
(
"192.168.10.4"
)
config
.
GenericConfig
.
LegacyAPIGroupPrefixes
=
sets
.
NewString
(
"/api"
)
config
.
GenericConfig
.
LegacyAPIGroupPrefixes
=
sets
.
NewString
(
"/api"
)
config
.
GenericConfig
.
RequestContextMapper
=
genericapirequest
.
NewRequestContextMapper
()
config
.
GenericConfig
.
RequestContextMapper
=
genericapirequest
.
NewRequestContextMapper
()
config
.
GenericConfig
.
LoopbackClientConfig
=
&
restclient
.
Config
{
APIPath
:
"/api"
,
ContentConfig
:
restclient
.
ContentConfig
{
NegotiatedSerializer
:
api
.
Codecs
}}
config
.
GenericConfig
.
LoopbackClientConfig
=
&
restclient
.
Config
{
APIPath
:
"/api"
,
ContentConfig
:
restclient
.
ContentConfig
{
NegotiatedSerializer
:
api
.
Codecs
}}
config
.
GenericConfig
.
EnableMetrics
=
true
config
.
GenericConfig
.
EnableMetrics
=
true
config
.
EnableCoreControllers
=
false
config
.
E
xtraConfig
.
E
nableCoreControllers
=
false
config
.
KubeletClientConfig
=
kubeletclient
.
KubeletClientConfig
{
Port
:
10250
}
config
.
ExtraConfig
.
KubeletClientConfig
=
kubeletclient
.
KubeletClientConfig
{
Port
:
10250
}
config
.
ProxyTransport
=
utilnet
.
SetTransportDefaults
(
&
http
.
Transport
{
config
.
ExtraConfig
.
ProxyTransport
=
utilnet
.
SetTransportDefaults
(
&
http
.
Transport
{
Dial
:
func
(
network
,
addr
string
)
(
net
.
Conn
,
error
)
{
return
nil
,
nil
},
Dial
:
func
(
network
,
addr
string
)
(
net
.
Conn
,
error
)
{
return
nil
,
nil
},
TLSClientConfig
:
&
tls
.
Config
{},
TLSClientConfig
:
&
tls
.
Config
{},
})
})
...
@@ -126,12 +128,12 @@ func TestLegacyRestStorageStrategies(t *testing.T) {
...
@@ -126,12 +128,12 @@ func TestLegacyRestStorageStrategies(t *testing.T) {
defer
etcdserver
.
Terminate
(
t
)
defer
etcdserver
.
Terminate
(
t
)
storageProvider
:=
corerest
.
LegacyRESTStorageProvider
{
storageProvider
:=
corerest
.
LegacyRESTStorageProvider
{
StorageFactory
:
masterCfg
.
StorageFactory
,
StorageFactory
:
masterCfg
.
ExtraConfig
.
StorageFactory
,
ProxyTransport
:
masterCfg
.
ProxyTransport
,
ProxyTransport
:
masterCfg
.
ExtraConfig
.
ProxyTransport
,
KubeletClientConfig
:
masterCfg
.
KubeletClientConfig
,
KubeletClientConfig
:
masterCfg
.
ExtraConfig
.
KubeletClientConfig
,
EventTTL
:
masterCfg
.
EventTTL
,
EventTTL
:
masterCfg
.
E
xtraConfig
.
E
ventTTL
,
ServiceIPRange
:
masterCfg
.
ServiceIPRange
,
ServiceIPRange
:
masterCfg
.
ExtraConfig
.
ServiceIPRange
,
ServiceNodePortRange
:
masterCfg
.
ServiceNodePortRange
,
ServiceNodePortRange
:
masterCfg
.
ExtraConfig
.
ServiceNodePortRange
,
LoopbackClientConfig
:
masterCfg
.
GenericConfig
.
LoopbackClientConfig
,
LoopbackClientConfig
:
masterCfg
.
GenericConfig
.
LoopbackClientConfig
,
}
}
...
@@ -162,7 +164,7 @@ func TestCertificatesRestStorageStrategies(t *testing.T) {
...
@@ -162,7 +164,7 @@ func TestCertificatesRestStorageStrategies(t *testing.T) {
defer
etcdserver
.
Terminate
(
t
)
defer
etcdserver
.
Terminate
(
t
)
certStorageProvider
:=
certificatesrest
.
RESTStorageProvider
{}
certStorageProvider
:=
certificatesrest
.
RESTStorageProvider
{}
apiGroupInfo
,
_
:=
certStorageProvider
.
NewRESTStorage
(
masterCfg
.
APIResourceConfigSource
,
masterCfg
.
GenericConfig
.
RESTOptionsGetter
)
apiGroupInfo
,
_
:=
certStorageProvider
.
NewRESTStorage
(
masterCfg
.
ExtraConfig
.
APIResourceConfigSource
,
masterCfg
.
GenericConfig
.
RESTOptionsGetter
)
exceptions
:=
registrytest
.
StrategyExceptions
{
exceptions
:=
registrytest
.
StrategyExceptions
{
HasExportStrategy
:
[]
string
{
HasExportStrategy
:
[]
string
{
...
@@ -205,8 +207,8 @@ func limitedAPIResourceConfigSource() *serverstorage.ResourceConfig {
...
@@ -205,8 +207,8 @@ func limitedAPIResourceConfigSource() *serverstorage.ResourceConfig {
// newLimitedMaster only enables the core group, the extensions group, the batch group, and the autoscaling group.
// newLimitedMaster only enables the core group, the extensions group, the batch group, and the autoscaling group.
func
newLimitedMaster
(
t
*
testing
.
T
)
(
*
Master
,
*
etcdtesting
.
EtcdTestServer
,
Config
,
*
assert
.
Assertions
)
{
func
newLimitedMaster
(
t
*
testing
.
T
)
(
*
Master
,
*
etcdtesting
.
EtcdTestServer
,
Config
,
*
assert
.
Assertions
)
{
etcdserver
,
config
,
assert
:=
setUp
(
t
)
etcdserver
,
config
,
assert
:=
setUp
(
t
)
config
.
APIResourceConfigSource
=
limitedAPIResourceConfigSource
()
config
.
ExtraConfig
.
APIResourceConfigSource
=
limitedAPIResourceConfigSource
()
master
,
err
:=
config
.
Complete
()
.
New
(
genericapiserver
.
EmptyDelegate
)
master
,
err
:=
config
.
Complete
(
sharedInformers
)
.
New
(
genericapiserver
.
EmptyDelegate
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatalf
(
"Error in bringing up the master: %v"
,
err
)
t
.
Fatalf
(
"Error in bringing up the master: %v"
,
err
)
}
}
...
...
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/apiserver.go
View file @
7d09148a
...
@@ -78,10 +78,14 @@ func init() {
...
@@ -78,10 +78,14 @@ func init() {
Scheme
.
AddUnversionedTypes
(
unversionedVersion
,
unversionedTypes
...
)
Scheme
.
AddUnversionedTypes
(
unversionedVersion
,
unversionedTypes
...
)
}
}
type
ExtraConfig
struct
{
CRDRESTOptionsGetter
genericregistry
.
RESTOptionsGetter
}
type
Config
struct
{
type
Config
struct
{
GenericConfig
*
genericapiserver
.
Config
GenericConfig
*
genericapiserver
.
Config
ExtraConfig
ExtraConfig
}
CRDRESTOptionsGetter
genericregistry
.
RESTOptionsGetter
}
}
type
CustomResourceDefinitions
struct
{
type
CustomResourceDefinitions
struct
{
...
@@ -173,7 +177,7 @@ func (c completedConfig) New(delegationTarget genericapiserver.DelegationTarget)
...
@@ -173,7 +177,7 @@ func (c completedConfig) New(delegationTarget genericapiserver.DelegationTarget)
s
.
Informers
.
Apiextensions
()
.
InternalVersion
()
.
CustomResourceDefinitions
()
.
Lister
(),
s
.
Informers
.
Apiextensions
()
.
InternalVersion
()
.
CustomResourceDefinitions
()
.
Lister
(),
s
.
Informers
.
Apiextensions
()
.
InternalVersion
()
.
CustomResourceDefinitions
(),
s
.
Informers
.
Apiextensions
()
.
InternalVersion
()
.
CustomResourceDefinitions
(),
delegateHandler
,
delegateHandler
,
c
.
CRDRESTOptionsGetter
,
c
.
ExtraConfig
.
CRDRESTOptionsGetter
,
c
.
GenericConfig
.
AdmissionControl
,
c
.
GenericConfig
.
AdmissionControl
,
)
)
s
.
GenericAPIServer
.
Handler
.
NonGoRestfulMux
.
Handle
(
"/apis"
,
crdHandler
)
s
.
GenericAPIServer
.
Handler
.
NonGoRestfulMux
.
Handle
(
"/apis"
,
crdHandler
)
...
...
staging/src/k8s.io/apiextensions-apiserver/pkg/cmd/server/start.go
View file @
7d09148a
...
@@ -100,8 +100,10 @@ func (o CustomResourceDefinitionsServerOptions) Config() (*apiserver.Config, err
...
@@ -100,8 +100,10 @@ func (o CustomResourceDefinitionsServerOptions) Config() (*apiserver.Config, err
}
}
config
:=
&
apiserver
.
Config
{
config
:=
&
apiserver
.
Config
{
GenericConfig
:
serverConfig
,
GenericConfig
:
serverConfig
,
CRDRESTOptionsGetter
:
NewCRDRESTOptionsGetter
(
*
o
.
RecommendedOptions
.
Etcd
),
ExtraConfig
:
apiserver
.
ExtraConfig
{
CRDRESTOptionsGetter
:
NewCRDRESTOptionsGetter
(
*
o
.
RecommendedOptions
.
Etcd
),
},
}
}
return
config
,
nil
return
config
,
nil
}
}
...
...
staging/src/k8s.io/apiextensions-apiserver/test/integration/registration_test.go
View file @
7d09148a
...
@@ -457,7 +457,7 @@ func TestEtcdStorage(t *testing.T) {
...
@@ -457,7 +457,7 @@ func TestEtcdStorage(t *testing.T) {
}
}
func
getPrefixFromConfig
(
t
*
testing
.
T
,
config
*
extensionsapiserver
.
Config
)
string
{
func
getPrefixFromConfig
(
t
*
testing
.
T
,
config
*
extensionsapiserver
.
Config
)
string
{
extensionsOptionsGetter
,
ok
:=
config
.
CRDRESTOptionsGetter
.
(
extensionsapiserver
.
CRDRESTOptionsGetter
)
extensionsOptionsGetter
,
ok
:=
config
.
ExtraConfig
.
CRDRESTOptionsGetter
.
(
extensionsapiserver
.
CRDRESTOptionsGetter
)
if
!
ok
{
if
!
ok
{
t
.
Fatal
(
"can't obtain etcd prefix: unable to cast config.CRDRESTOptionsGetter to extensionsapiserver.CRDRESTOptionsGetter"
)
t
.
Fatal
(
"can't obtain etcd prefix: unable to cast config.CRDRESTOptionsGetter to extensionsapiserver.CRDRESTOptionsGetter"
)
}
}
...
...
staging/src/k8s.io/apiextensions-apiserver/test/integration/testserver/start.go
View file @
7d09148a
...
@@ -88,8 +88,10 @@ func DefaultServerConfig() (*extensionsapiserver.Config, error) {
...
@@ -88,8 +88,10 @@ func DefaultServerConfig() (*extensionsapiserver.Config, error) {
customResourceDefinitionRESTOptionsGetter
.
StorageConfig
.
Copier
=
extensionsapiserver
.
UnstructuredCopier
{}
customResourceDefinitionRESTOptionsGetter
.
StorageConfig
.
Copier
=
extensionsapiserver
.
UnstructuredCopier
{}
config
:=
&
extensionsapiserver
.
Config
{
config
:=
&
extensionsapiserver
.
Config
{
GenericConfig
:
genericConfig
,
GenericConfig
:
genericConfig
,
CRDRESTOptionsGetter
:
customResourceDefinitionRESTOptionsGetter
,
ExtraConfig
:
extensionsapiserver
.
ExtraConfig
{
CRDRESTOptionsGetter
:
customResourceDefinitionRESTOptionsGetter
,
},
}
}
return
config
,
nil
return
config
,
nil
...
...
staging/src/k8s.io/kube-aggregator/pkg/apiserver/apiserver.go
View file @
7d09148a
...
@@ -70,9 +70,7 @@ func init() {
...
@@ -70,9 +70,7 @@ func init() {
// legacyAPIServiceName is the fixed name of the only non-groupified API version
// legacyAPIServiceName is the fixed name of the only non-groupified API version
const
legacyAPIServiceName
=
"v1."
const
legacyAPIServiceName
=
"v1."
type
Config
struct
{
type
ExtraConfig
struct
{
GenericConfig
*
genericapiserver
.
Config
// CoreKubeInformers is used to watch kube resources
// CoreKubeInformers is used to watch kube resources
CoreKubeInformers
kubeinformers
.
SharedInformerFactory
CoreKubeInformers
kubeinformers
.
SharedInformerFactory
...
@@ -89,6 +87,11 @@ type Config struct {
...
@@ -89,6 +87,11 @@ type Config struct {
ServiceResolver
ServiceResolver
ServiceResolver
ServiceResolver
}
}
type
Config
struct
{
GenericConfig
*
genericapiserver
.
RecommendedConfig
ExtraConfig
ExtraConfig
}
// APIAggregator contains state for a Kubernetes cluster master/api server.
// APIAggregator contains state for a Kubernetes cluster master/api server.
type
APIAggregator
struct
{
type
APIAggregator
struct
{
GenericAPIServer
*
genericapiserver
.
GenericAPIServer
GenericAPIServer
*
genericapiserver
.
GenericAPIServer
...
@@ -168,14 +171,14 @@ func (c completedConfig) NewWithDelegate(delegationTarget genericapiserver.Deleg
...
@@ -168,14 +171,14 @@ func (c completedConfig) NewWithDelegate(delegationTarget genericapiserver.Deleg
GenericAPIServer
:
genericServer
,
GenericAPIServer
:
genericServer
,
delegateHandler
:
delegationTarget
.
UnprotectedHandler
(),
delegateHandler
:
delegationTarget
.
UnprotectedHandler
(),
contextMapper
:
c
.
GenericConfig
.
RequestContextMapper
,
contextMapper
:
c
.
GenericConfig
.
RequestContextMapper
,
proxyClientCert
:
c
.
ProxyClientCert
,
proxyClientCert
:
c
.
ExtraConfig
.
ProxyClientCert
,
proxyClientKey
:
c
.
ProxyClientKey
,
proxyClientKey
:
c
.
ExtraConfig
.
ProxyClientKey
,
proxyTransport
:
c
.
ProxyTransport
,
proxyTransport
:
c
.
ExtraConfig
.
ProxyTransport
,
proxyHandlers
:
map
[
string
]
*
proxyHandler
{},
proxyHandlers
:
map
[
string
]
*
proxyHandler
{},
handledGroups
:
sets
.
String
{},
handledGroups
:
sets
.
String
{},
lister
:
informerFactory
.
Apiregistration
()
.
InternalVersion
()
.
APIServices
()
.
Lister
(),
lister
:
informerFactory
.
Apiregistration
()
.
InternalVersion
()
.
APIServices
()
.
Lister
(),
APIRegistrationInformers
:
informerFactory
,
APIRegistrationInformers
:
informerFactory
,
serviceResolver
:
c
.
ServiceResolver
,
serviceResolver
:
c
.
ExtraConfig
.
ServiceResolver
,
}
}
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
apiregistration
.
GroupName
,
registry
,
Scheme
,
metav1
.
ParameterCodec
,
Codecs
)
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
apiregistration
.
GroupName
,
registry
,
Scheme
,
metav1
.
ParameterCodec
,
Codecs
)
...
@@ -198,17 +201,17 @@ func (c completedConfig) NewWithDelegate(delegationTarget genericapiserver.Deleg
...
@@ -198,17 +201,17 @@ func (c completedConfig) NewWithDelegate(delegationTarget genericapiserver.Deleg
s
.
GenericAPIServer
.
Handler
.
NonGoRestfulMux
.
Handle
(
"/apis"
,
apisHandler
)
s
.
GenericAPIServer
.
Handler
.
NonGoRestfulMux
.
Handle
(
"/apis"
,
apisHandler
)
s
.
GenericAPIServer
.
Handler
.
NonGoRestfulMux
.
UnlistedHandle
(
"/apis/"
,
apisHandler
)
s
.
GenericAPIServer
.
Handler
.
NonGoRestfulMux
.
UnlistedHandle
(
"/apis/"
,
apisHandler
)
apiserviceRegistrationController
:=
NewAPIServiceRegistrationController
(
informerFactory
.
Apiregistration
()
.
InternalVersion
()
.
APIServices
(),
c
.
CoreKubeInformers
.
Core
()
.
V1
()
.
Services
(),
s
)
apiserviceRegistrationController
:=
NewAPIServiceRegistrationController
(
informerFactory
.
Apiregistration
()
.
InternalVersion
()
.
APIServices
(),
c
.
ExtraConfig
.
CoreKubeInformers
.
Core
()
.
V1
()
.
Services
(),
s
)
availableController
:=
statuscontrollers
.
NewAvailableConditionController
(
availableController
:=
statuscontrollers
.
NewAvailableConditionController
(
informerFactory
.
Apiregistration
()
.
InternalVersion
()
.
APIServices
(),
informerFactory
.
Apiregistration
()
.
InternalVersion
()
.
APIServices
(),
c
.
CoreKubeInformers
.
Core
()
.
V1
()
.
Services
(),
c
.
ExtraConfig
.
CoreKubeInformers
.
Core
()
.
V1
()
.
Services
(),
c
.
CoreKubeInformers
.
Core
()
.
V1
()
.
Endpoints
(),
c
.
ExtraConfig
.
CoreKubeInformers
.
Core
()
.
V1
()
.
Endpoints
(),
apiregistrationClient
.
Apiregistration
(),
apiregistrationClient
.
Apiregistration
(),
)
)
s
.
GenericAPIServer
.
AddPostStartHook
(
"start-kube-aggregator-informers"
,
func
(
context
genericapiserver
.
PostStartHookContext
)
error
{
s
.
GenericAPIServer
.
AddPostStartHook
(
"start-kube-aggregator-informers"
,
func
(
context
genericapiserver
.
PostStartHookContext
)
error
{
informerFactory
.
Start
(
context
.
StopCh
)
informerFactory
.
Start
(
context
.
StopCh
)
c
.
CoreKubeInformers
.
Start
(
context
.
StopCh
)
c
.
ExtraConfig
.
CoreKubeInformers
.
Start
(
context
.
StopCh
)
return
nil
return
nil
})
})
s
.
GenericAPIServer
.
AddPostStartHook
(
"apiservice-registration-controller"
,
func
(
context
genericapiserver
.
PostStartHookContext
)
error
{
s
.
GenericAPIServer
.
AddPostStartHook
(
"apiservice-registration-controller"
,
func
(
context
genericapiserver
.
PostStartHookContext
)
error
{
...
...
staging/src/k8s.io/kube-aggregator/pkg/cmd/server/start.go
View file @
7d09148a
...
@@ -151,16 +151,18 @@ func (o AggregatorOptions) RunAggregator(stopCh <-chan struct{}) error {
...
@@ -151,16 +151,18 @@ func (o AggregatorOptions) RunAggregator(stopCh <-chan struct{}) error {
serviceResolver
:=
apiserver
.
NewClusterIPServiceResolver
(
kubeInformers
.
Core
()
.
V1
()
.
Services
()
.
Lister
())
serviceResolver
:=
apiserver
.
NewClusterIPServiceResolver
(
kubeInformers
.
Core
()
.
V1
()
.
Services
()
.
Lister
())
config
:=
apiserver
.
Config
{
config
:=
apiserver
.
Config
{
GenericConfig
:
serverConfig
,
GenericConfig
:
serverConfig
,
CoreKubeInformers
:
kubeInformers
,
ExtraConfig
:
apiserver
.
ExtraConfig
{
ServiceResolver
:
serviceResolver
,
CoreKubeInformers
:
kubeInformers
,
ServiceResolver
:
serviceResolver
,
},
}
}
config
.
ProxyClientCert
,
err
=
ioutil
.
ReadFile
(
o
.
ProxyClientCertFile
)
config
.
ExtraConfig
.
ProxyClientCert
,
err
=
ioutil
.
ReadFile
(
o
.
ProxyClientCertFile
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
config
.
ProxyClientKey
,
err
=
ioutil
.
ReadFile
(
o
.
ProxyClientKeyFile
)
config
.
ExtraConfig
.
ProxyClientKey
,
err
=
ioutil
.
ReadFile
(
o
.
ProxyClientKeyFile
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
...
staging/src/k8s.io/sample-apiserver/pkg/apiserver/apiserver.go
View file @
7d09148a
...
@@ -61,10 +61,15 @@ func init() {
...
@@ -61,10 +61,15 @@ func init() {
)
)
}
}
type
ExtraConfig
struct
{
// Place you custom config here.
}
type
Config
struct
{
type
Config
struct
{
GenericConfig
*
genericapiserver
.
Config
GenericConfig
*
genericapiserver
.
Config
// SharedInformerFactory provides shared informers for resources
// SharedInformerFactory provides shared informers for resources
SharedInformerFactory
informers
.
SharedInformerFactory
SharedInformerFactory
informers
.
SharedInformerFactory
ExtraConfig
ExtraConfig
}
}
// WardleServer contains state for a Kubernetes cluster master/api server.
// WardleServer contains state for a Kubernetes cluster master/api server.
...
...
staging/src/k8s.io/sample-apiserver/pkg/cmd/server/start.go
View file @
7d09148a
...
@@ -126,6 +126,7 @@ func (o WardleServerOptions) Config() (*apiserver.Config, error) {
...
@@ -126,6 +126,7 @@ func (o WardleServerOptions) Config() (*apiserver.Config, error) {
config
:=
&
apiserver
.
Config
{
config
:=
&
apiserver
.
Config
{
GenericConfig
:
serverConfig
,
GenericConfig
:
serverConfig
,
SharedInformerFactory
:
informerFactory
,
SharedInformerFactory
:
informerFactory
,
ExtraConfig
:
apiserver
.
ExtraConfig
{},
}
}
return
config
,
nil
return
config
,
nil
}
}
...
...
test/integration/apiserver/apiserver_test.go
View file @
7d09148a
...
@@ -44,7 +44,7 @@ import (
...
@@ -44,7 +44,7 @@ import (
func
setup
(
t
*
testing
.
T
)
(
*
httptest
.
Server
,
clientset
.
Interface
,
framework
.
CloseFunc
)
{
func
setup
(
t
*
testing
.
T
)
(
*
httptest
.
Server
,
clientset
.
Interface
,
framework
.
CloseFunc
)
{
masterConfig
:=
framework
.
NewIntegrationTestMasterConfig
()
masterConfig
:=
framework
.
NewIntegrationTestMasterConfig
()
masterConfig
.
EnableCoreControllers
=
false
masterConfig
.
E
xtraConfig
.
E
nableCoreControllers
=
false
_
,
s
,
closeFn
:=
framework
.
RunAMaster
(
masterConfig
)
_
,
s
,
closeFn
:=
framework
.
RunAMaster
(
masterConfig
)
clientSet
,
err
:=
clientset
.
NewForConfig
(
&
restclient
.
Config
{
Host
:
s
.
URL
})
clientSet
,
err
:=
clientset
.
NewForConfig
(
&
restclient
.
Config
{
Host
:
s
.
URL
})
...
...
test/integration/auth/rbac_test.go
View file @
7d09148a
...
@@ -75,7 +75,7 @@ type testRESTOptionsGetter struct {
...
@@ -75,7 +75,7 @@ type testRESTOptionsGetter struct {
}
}
func
(
getter
*
testRESTOptionsGetter
)
GetRESTOptions
(
resource
schema
.
GroupResource
)
(
generic
.
RESTOptions
,
error
)
{
func
(
getter
*
testRESTOptionsGetter
)
GetRESTOptions
(
resource
schema
.
GroupResource
)
(
generic
.
RESTOptions
,
error
)
{
storageConfig
,
err
:=
getter
.
config
.
StorageFactory
.
NewConfig
(
resource
)
storageConfig
,
err
:=
getter
.
config
.
ExtraConfig
.
StorageFactory
.
NewConfig
(
resource
)
if
err
!=
nil
{
if
err
!=
nil
{
return
generic
.
RESTOptions
{},
fmt
.
Errorf
(
"failed to get storage: %v"
,
err
)
return
generic
.
RESTOptions
{},
fmt
.
Errorf
(
"failed to get storage: %v"
,
err
)
}
}
...
...
test/integration/etcd/etcd_storage_path_test.go
View file @
7d09148a
...
@@ -690,7 +690,7 @@ func startRealMasterOrDie(t *testing.T, certDir string) (*allClient, clientv3.KV
...
@@ -690,7 +690,7 @@ func startRealMasterOrDie(t *testing.T, certDir string) (*allClient, clientv3.KV
t
.
Fatal
(
err
)
t
.
Fatal
(
err
)
}
}
kubeAPIServerConfig
.
APIResourceConfigSource
=
&
allResourceSource
{}
// force enable all resources
kubeAPIServerConfig
.
ExtraConfig
.
APIResourceConfigSource
=
&
allResourceSource
{}
// force enable all resources
kubeAPIServer
,
err
:=
app
.
CreateKubeAPIServer
(
kubeAPIServerConfig
,
genericapiserver
.
EmptyDelegate
,
sharedInformers
)
kubeAPIServer
,
err
:=
app
.
CreateKubeAPIServer
(
kubeAPIServerConfig
,
genericapiserver
.
EmptyDelegate
,
sharedInformers
)
if
err
!=
nil
{
if
err
!=
nil
{
...
...
test/integration/framework/master_utils.go
View file @
7d09148a
...
@@ -357,22 +357,24 @@ func NewMasterConfig() *master.Config {
...
@@ -357,22 +357,24 @@ func NewMasterConfig() *master.Config {
}
}
return
&
master
.
Config
{
return
&
master
.
Config
{
GenericConfig
:
genericConfig
,
GenericConfig
:
genericConfig
,
APIResourceConfigSource
:
master
.
DefaultAPIResourceConfigSource
(),
ExtraConfig
:
master
.
ExtraConfig
{
StorageFactory
:
storageFactory
,
APIResourceConfigSource
:
master
.
DefaultAPIResourceConfigSource
(),
EnableCoreControllers
:
true
,
StorageFactory
:
storageFactory
,
KubeletClientConfig
:
kubeletclient
.
KubeletClientConfig
{
Port
:
10250
},
EnableCoreControllers
:
true
,
APIServerServicePort
:
443
,
KubeletClientConfig
:
kubeletclient
.
KubeletClientConfig
{
Port
:
10250
},
MasterCount
:
1
,
APIServerServicePort
:
443
,
MasterCount
:
1
,
},
}
}
}
}
// Returns the master config appropriate for most integration tests.
// Returns the master config appropriate for most integration tests.
func
NewIntegrationTestMasterConfig
()
*
master
.
Config
{
func
NewIntegrationTestMasterConfig
()
*
master
.
Config
{
masterConfig
:=
NewMasterConfig
()
masterConfig
:=
NewMasterConfig
()
masterConfig
.
EnableCoreControllers
=
true
masterConfig
.
E
xtraConfig
.
E
nableCoreControllers
=
true
masterConfig
.
GenericConfig
.
PublicAddress
=
net
.
ParseIP
(
"192.168.10.4"
)
masterConfig
.
GenericConfig
.
PublicAddress
=
net
.
ParseIP
(
"192.168.10.4"
)
masterConfig
.
APIResourceConfigSource
=
master
.
DefaultAPIResourceConfigSource
()
masterConfig
.
ExtraConfig
.
APIResourceConfigSource
=
master
.
DefaultAPIResourceConfigSource
()
return
masterConfig
return
masterConfig
}
}
...
...
test/integration/master/master_test.go
View file @
7d09148a
...
@@ -548,7 +548,7 @@ func TestServiceAlloc(t *testing.T) {
...
@@ -548,7 +548,7 @@ func TestServiceAlloc(t *testing.T) {
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatalf
(
"bad cidr: %v"
,
err
)
t
.
Fatalf
(
"bad cidr: %v"
,
err
)
}
}
cfg
.
ServiceIPRange
=
*
cidr
cfg
.
ExtraConfig
.
ServiceIPRange
=
*
cidr
_
,
s
,
closeFn
:=
framework
.
RunAMaster
(
cfg
)
_
,
s
,
closeFn
:=
framework
.
RunAMaster
(
cfg
)
defer
closeFn
()
defer
closeFn
()
...
...
test/integration/openshift/openshift_test.go
View file @
7d09148a
...
@@ -30,9 +30,11 @@ func TestMasterExportsSymbols(t *testing.T) {
...
@@ -30,9 +30,11 @@ func TestMasterExportsSymbols(t *testing.T) {
GenericConfig
:
&
genericapiserver
.
Config
{
GenericConfig
:
&
genericapiserver
.
Config
{
EnableMetrics
:
true
,
EnableMetrics
:
true
,
},
},
EnableCoreControllers
:
false
,
ExtraConfig
:
master
.
ExtraConfig
{
EnableUISupport
:
false
,
EnableCoreControllers
:
false
,
EnableLogsSupport
:
false
,
EnableUISupport
:
false
,
EnableLogsSupport
:
false
,
},
}
}
_
=
&
master
.
Master
{
_
=
&
master
.
Master
{
GenericAPIServer
:
&
genericapiserver
.
GenericAPIServer
{},
GenericAPIServer
:
&
genericapiserver
.
GenericAPIServer
{},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment