mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-31 07:20:13 +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/gopkg.in/gcfg.v1:go_default_library",
|
||||||
"//vendor/k8s.io/api/core/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/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/informers:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/tools/cache:go_default_library",
|
"//vendor/k8s.io/client-go/tools/cache:go_default_library",
|
||||||
],
|
],
|
||||||
|
@ -35,7 +35,6 @@ import (
|
|||||||
"golang.org/x/net/context"
|
"golang.org/x/net/context"
|
||||||
"k8s.io/api/core/v1"
|
"k8s.io/api/core/v1"
|
||||||
k8stypes "k8s.io/apimachinery/pkg/types"
|
k8stypes "k8s.io/apimachinery/pkg/types"
|
||||||
"k8s.io/apimachinery/pkg/util/wait"
|
|
||||||
"k8s.io/client-go/informers"
|
"k8s.io/client-go/informers"
|
||||||
"k8s.io/client-go/tools/cache"
|
"k8s.io/client-go/tools/cache"
|
||||||
v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper"
|
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
|
// Initialize passes a Kubernetes clientBuilder interface to the cloud provider
|
||||||
func (vs *VSphere) Initialize(clientBuilder controller.ControllerClientBuilder) {
|
func (vs *VSphere) Initialize(clientBuilder controller.ControllerClientBuilder) {
|
||||||
|
}
|
||||||
|
|
||||||
|
// Initialize Node Informers
|
||||||
|
func (vs *VSphere) SetInformers(informerFactory informers.SharedInformerFactory) {
|
||||||
if vs.cfg == nil {
|
if vs.cfg == nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Only on controller node it is required to register listeners.
|
// Only on controller node it is required to register listeners.
|
||||||
// Register callbacks for node updates
|
// Register callbacks for node updates
|
||||||
client := clientBuilder.ClientOrDie("vsphere-cloud-provider")
|
glog.V(4).Infof("Setting up node informers for vSphere Cloud Provider")
|
||||||
factory := informers.NewSharedInformerFactory(client, 5*time.Minute)
|
nodeInformer := informerFactory.Core().V1().Nodes().Informer()
|
||||||
nodeInformer := factory.Core().V1().Nodes()
|
nodeInformer.AddEventHandler(cache.ResourceEventHandlerFuncs{
|
||||||
nodeInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
|
|
||||||
AddFunc: vs.NodeAdded,
|
AddFunc: vs.NodeAdded,
|
||||||
DeleteFunc: vs.NodeDeleted,
|
DeleteFunc: vs.NodeDeleted,
|
||||||
})
|
})
|
||||||
go nodeInformer.Informer().Run(wait.NeverStop)
|
glog.V(4).Infof("Node informers in vSphere cloud provider initialized")
|
||||||
glog.V(4).Infof("vSphere cloud provider initialized")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Creates new worker node interface and returns
|
// Creates new worker node interface and returns
|
||||||
|
Loading…
Reference in New Issue
Block a user