mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 22:17:14 +00:00
Use SetInformers method to register for Node events. (#449)
Till 1.9.2 Kubernetes release vSphere Cloud Provider needs a separate service account which is not needed.
This commit is contained in:
parent
4ce4bdc82c
commit
68aba5fe44
@ -27,7 +27,6 @@ go_library(
|
||||
"//vendor/gopkg.in/gcfg.v1:go_default_library",
|
||||
"//vendor/k8s.io/api/core/v1:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library",
|
||||
"//vendor/k8s.io/client-go/informers:go_default_library",
|
||||
"//vendor/k8s.io/client-go/tools/cache:go_default_library",
|
||||
],
|
||||
|
@ -35,7 +35,6 @@ import (
|
||||
"golang.org/x/net/context"
|
||||
"k8s.io/api/core/v1"
|
||||
k8stypes "k8s.io/apimachinery/pkg/types"
|
||||
"k8s.io/apimachinery/pkg/util/wait"
|
||||
"k8s.io/client-go/informers"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper"
|
||||
@ -211,21 +210,23 @@ func init() {
|
||||
|
||||
// Initialize passes a Kubernetes clientBuilder interface to the cloud provider
|
||||
func (vs *VSphere) Initialize(clientBuilder controller.ControllerClientBuilder) {
|
||||
}
|
||||
|
||||
// Initialize Node Informers
|
||||
func (vs *VSphere) SetInformers(informerFactory informers.SharedInformerFactory) {
|
||||
if vs.cfg == nil {
|
||||
return
|
||||
}
|
||||
|
||||
// Only on controller node it is required to register listeners.
|
||||
// Register callbacks for node updates
|
||||
client := clientBuilder.ClientOrDie("vsphere-cloud-provider")
|
||||
factory := informers.NewSharedInformerFactory(client, 5*time.Minute)
|
||||
nodeInformer := factory.Core().V1().Nodes()
|
||||
nodeInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
|
||||
glog.V(4).Infof("Setting up node informers for vSphere Cloud Provider")
|
||||
nodeInformer := informerFactory.Core().V1().Nodes().Informer()
|
||||
nodeInformer.AddEventHandler(cache.ResourceEventHandlerFuncs{
|
||||
AddFunc: vs.NodeAdded,
|
||||
DeleteFunc: vs.NodeDeleted,
|
||||
})
|
||||
go nodeInformer.Informer().Run(wait.NeverStop)
|
||||
glog.V(4).Infof("vSphere cloud provider initialized")
|
||||
glog.V(4).Infof("Node informers in vSphere cloud provider initialized")
|
||||
}
|
||||
|
||||
// Creates new worker node interface and returns
|
||||
|
Loading…
Reference in New Issue
Block a user