mirror of https://github.com/k3s-io/k3s
pass stop channel to node-controller
parent
e34df0a26c
commit
7e894b33ee
|
@ -216,13 +216,12 @@ func startControllers(c *cloudcontrollerconfig.CompletedConfig, rootClientBuilde
|
||||||
c.Generic.ComponentConfig.KubeCloudShared.NodeMonitorPeriod.Duration,
|
c.Generic.ComponentConfig.KubeCloudShared.NodeMonitorPeriod.Duration,
|
||||||
c.Extra.NodeStatusUpdateFrequency)
|
c.Extra.NodeStatusUpdateFrequency)
|
||||||
|
|
||||||
nodeController.Run()
|
nodeController.Run(stop)
|
||||||
time.Sleep(wait.Jitter(c.Generic.ComponentConfig.GenericComponent.ControllerStartInterval.Duration, ControllerStartJitter))
|
time.Sleep(wait.Jitter(c.Generic.ComponentConfig.GenericComponent.ControllerStartInterval.Duration, ControllerStartJitter))
|
||||||
|
|
||||||
// Start the PersistentVolumeLabelController
|
// Start the PersistentVolumeLabelController
|
||||||
pvlController := cloudcontrollers.NewPersistentVolumeLabelController(client("pvl-controller"), cloud)
|
pvlController := cloudcontrollers.NewPersistentVolumeLabelController(client("pvl-controller"), cloud)
|
||||||
threads := 5
|
go pvlController.Run(5, stop)
|
||||||
go pvlController.Run(threads, stop)
|
|
||||||
time.Sleep(wait.Jitter(c.Generic.ComponentConfig.GenericComponent.ControllerStartInterval.Duration, ControllerStartJitter))
|
time.Sleep(wait.Jitter(c.Generic.ComponentConfig.GenericComponent.ControllerStartInterval.Duration, ControllerStartJitter))
|
||||||
|
|
||||||
// Start the service controller
|
// Start the service controller
|
||||||
|
|
|
@ -112,7 +112,7 @@ func NewCloudNodeController(
|
||||||
|
|
||||||
// This controller deletes a node if kubelet is not reporting
|
// This controller deletes a node if kubelet is not reporting
|
||||||
// and the node is gone from the cloud provider.
|
// and the node is gone from the cloud provider.
|
||||||
func (cnc *CloudNodeController) Run() {
|
func (cnc *CloudNodeController) Run(stopCh <-chan struct{}) {
|
||||||
defer utilruntime.HandleCrash()
|
defer utilruntime.HandleCrash()
|
||||||
|
|
||||||
// The following loops run communicate with the APIServer with a worst case complexity
|
// The following loops run communicate with the APIServer with a worst case complexity
|
||||||
|
@ -120,10 +120,10 @@ func (cnc *CloudNodeController) Run() {
|
||||||
// very infrequently. DO NOT MODIFY this to perform frequent operations.
|
// very infrequently. DO NOT MODIFY this to perform frequent operations.
|
||||||
|
|
||||||
// Start a loop to periodically update the node addresses obtained from the cloud
|
// Start a loop to periodically update the node addresses obtained from the cloud
|
||||||
go wait.Until(cnc.UpdateNodeStatus, cnc.nodeStatusUpdateFrequency, wait.NeverStop)
|
go wait.Until(cnc.UpdateNodeStatus, cnc.nodeStatusUpdateFrequency, stopCh)
|
||||||
|
|
||||||
// Start a loop to periodically check if any nodes have been deleted from cloudprovider
|
// Start a loop to periodically check if any nodes have been deleted from cloudprovider
|
||||||
go wait.Until(cnc.MonitorNode, cnc.nodeMonitorPeriod, wait.NeverStop)
|
go wait.Until(cnc.MonitorNode, cnc.nodeMonitorPeriod, stopCh)
|
||||||
}
|
}
|
||||||
|
|
||||||
// UpdateNodeStatus updates the node status, such as node addresses
|
// UpdateNodeStatus updates the node status, such as node addresses
|
||||||
|
|
Loading…
Reference in New Issue