@@ -34,7 +34,6 @@ import (
34
34
"golang.org/x/time/rate"
35
35
kubeinformers "k8s.io/client-go/informers"
36
36
"k8s.io/client-go/kubernetes"
37
- corelisters "k8s.io/client-go/listers/core/v1"
38
37
"k8s.io/client-go/util/workqueue"
39
38
"k8s.io/klog"
40
39
@@ -89,8 +88,7 @@ func main() {
89
88
cfg .ConfigPath = o .KubeConfigPath
90
89
provider , err := k8sprovider .NewVirtualK8S (cfg , & cc , ignoreLabels , enableServiceAccount , o )
91
90
if err == nil {
92
- go RunController (ctx , provider .GetMaster (),
93
- provider .GetClient (), provider .GetNameSpaceLister (), cfg .NodeName , numberOfWorkers )
91
+ go RunController (ctx , provider , cfg .NodeName , numberOfWorkers )
94
92
}
95
93
return provider , err
96
94
}),
@@ -114,10 +112,10 @@ func main() {
114
112
}
115
113
116
114
// RunController starts controllers for objects needed to be synced
117
- func RunController (ctx context.Context , master ,
118
- client kubernetes.Interface , nsLister corelisters.NamespaceLister , hostIP string ,
115
+ func RunController (ctx context.Context , p * k8sprovider.VirtualK8S , hostIP string ,
119
116
workers int ) * controllers.ServiceController {
120
-
117
+ master := p .GetMaster ()
118
+ client := p .GetClient ()
121
119
masterInformer := kubeinformers .NewSharedInformerFactory (master , 0 )
122
120
if masterInformer == nil {
123
121
return nil
@@ -136,10 +134,10 @@ func RunController(ctx context.Context, master,
136
134
}
137
135
switch c {
138
136
case "PVControllers" :
139
- pvCtrl := buildPVController (master , client , masterInformer , clientInformer , hostIP )
137
+ pvCtrl := controllers . NewPVController (master , client , masterInformer , clientInformer , hostIP )
140
138
runningControllers = append (runningControllers , pvCtrl )
141
139
case "ServiceControllers" :
142
- serviceCtrl := buildServiceController (master , client , masterInformer , clientInformer , nsLister )
140
+ serviceCtrl := controllers . NewServiceController (master , client , masterInformer , clientInformer , p . GetNameSpaceLister () )
143
141
runningControllers = append (runningControllers , serviceCtrl )
144
142
default :
145
143
klog .Warningf ("Skip: %v" , c )
@@ -154,39 +152,6 @@ func RunController(ctx context.Context, master,
154
152
return nil
155
153
}
156
154
157
- func buildServiceController (master , client kubernetes.Interface , masterInformer ,
158
- clientInformer kubeinformers.SharedInformerFactory ,
159
- nsLister corelisters.NamespaceLister ) controllers.Controller {
160
- // master
161
- serviceInformer := masterInformer .Core ().V1 ().Services ()
162
- endpointsInformer := masterInformer .Core ().V1 ().Endpoints ()
163
- // client
164
- clientServiceInformer := clientInformer .Core ().V1 ().Services ()
165
- clientEndpointsInformer := clientInformer .Core ().V1 ().Endpoints ()
166
-
167
- serviceRateLimiter := workqueue .NewItemExponentialFailureRateLimiter (time .Second , 30 * time .Second )
168
- endpointsRateLimiter := workqueue .NewItemExponentialFailureRateLimiter (time .Second , 30 * time .Second )
169
- return controllers .NewServiceController (master , client , serviceInformer , endpointsInformer ,
170
- clientServiceInformer , clientEndpointsInformer , nsLister , serviceRateLimiter , endpointsRateLimiter )
171
- }
172
-
173
- func buildPVController (master , client kubernetes.Interface , masterInformer ,
174
- clientInformer kubeinformers.SharedInformerFactory , hostIP string ) controllers.Controller {
175
-
176
- pvcInformer := masterInformer .Core ().V1 ().PersistentVolumeClaims ()
177
- pvInformer := masterInformer .Core ().V1 ().PersistentVolumes ()
178
-
179
- clientPVCInformer := clientInformer .Core ().V1 ().PersistentVolumeClaims ()
180
- clientPVInformer := clientInformer .Core ().V1 ().PersistentVolumes ()
181
-
182
- pvcRateLimiter := workqueue .NewItemExponentialFailureRateLimiter (time .Second , 30 * time .Second )
183
- pvRateLimiter := workqueue .NewItemExponentialFailureRateLimiter (time .Second , 30 * time .Second )
184
-
185
- return controllers .NewPVController (master , client , pvcInformer , pvInformer ,
186
- clientPVCInformer ,
187
- clientPVInformer , pvcRateLimiter , pvRateLimiter , hostIP )
188
- }
189
-
190
155
func buildCommonControllers (client kubernetes.Interface , masterInformer ,
191
156
clientInformer kubeinformers.SharedInformerFactory ) controllers.Controller {
192
157
0 commit comments