mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-09-26 12:46:06 +00:00
Use shared informers for proxy endpoints and service configs
Use shared informers instead of creating local controllers/reflectors for the proxy's endpoints and service configs. This allows downstream integrators to pass in preexisting shared informers to save on memory & cpu usage. This also enables the cache mutation detector for kube-proxy for those presubmit jobs that already turn it on.
This commit is contained in:
@@ -30,6 +30,7 @@ import (
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset"
|
||||
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
|
||||
informers "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion"
|
||||
_ "k8s.io/kubernetes/pkg/client/metrics/prometheus" // for client metric registration
|
||||
cadvisortest "k8s.io/kubernetes/pkg/kubelet/cadvisor/testing"
|
||||
"k8s.io/kubernetes/pkg/kubelet/cm"
|
||||
@@ -54,8 +55,9 @@ type HollowNodeConfig struct {
|
||||
}
|
||||
|
||||
const (
|
||||
maxPods = 110
|
||||
podsPerCore = 0
|
||||
maxPods = 110
|
||||
podsPerCore = 0
|
||||
configResyncPeriod = 15 * time.Minute
|
||||
)
|
||||
|
||||
var knownMorphs = sets.NewString("kubelet", "proxy")
|
||||
@@ -136,10 +138,11 @@ func main() {
|
||||
|
||||
iptInterface := fakeiptables.NewFake()
|
||||
|
||||
serviceConfig := proxyconfig.NewServiceConfig(internalClientset.Core().RESTClient(), 15*time.Minute)
|
||||
informerFactory := informers.NewSharedInformerFactory(internalClientset, configResyncPeriod)
|
||||
serviceConfig := proxyconfig.NewServiceConfig(informerFactory.Core().InternalVersion().Services(), configResyncPeriod)
|
||||
serviceConfig.RegisterHandler(&kubemark.FakeProxyHandler{})
|
||||
|
||||
endpointsConfig := proxyconfig.NewEndpointsConfig(internalClientset.Core().RESTClient(), 15*time.Minute)
|
||||
endpointsConfig := proxyconfig.NewEndpointsConfig(informerFactory.Core().InternalVersion().Endpoints(), configResyncPeriod)
|
||||
endpointsConfig.RegisterHandler(&kubemark.FakeProxyHandler{})
|
||||
|
||||
eventClient, err := clientgoclientset.NewForConfig(clientConfig)
|
||||
@@ -153,6 +156,7 @@ func main() {
|
||||
eventClient,
|
||||
endpointsConfig,
|
||||
serviceConfig,
|
||||
informerFactory,
|
||||
iptInterface,
|
||||
eventBroadcaster,
|
||||
recorder,
|
||||
|
Reference in New Issue
Block a user