mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	Rework event recorder startup
* Remove Controller.recorder field, there already is eventRecorder. * Start the event broadcaster in Run(), to save a bit of CPU and memory when something initializes the controller, but does not Run() it. * Log events with log level 3, as the other contollers usually do. * Use StartStructuredLogging(), which looks fancier than StartLogging
This commit is contained in:
		@@ -75,9 +75,8 @@ type Controller struct {
 | 
			
		||||
	cmpm              csimigration.PluginManager
 | 
			
		||||
	csiTranslator     csimigration.InTreeToCSITranslator
 | 
			
		||||
	seLinuxTranslator volumeutil.SELinuxLabelTranslator
 | 
			
		||||
	eventBroadcaster  record.EventBroadcaster
 | 
			
		||||
	eventRecorder     record.EventRecorder
 | 
			
		||||
 | 
			
		||||
	recorder record.EventRecorder
 | 
			
		||||
	queue             workqueue.TypedRateLimitingInterface[cache.ObjectName]
 | 
			
		||||
 | 
			
		||||
	labelCache volumecache.VolumeCache
 | 
			
		||||
@@ -95,8 +94,6 @@ func NewController(
 | 
			
		||||
) (*Controller, error) {
 | 
			
		||||
 | 
			
		||||
	eventBroadcaster := record.NewBroadcaster(record.WithContext(ctx))
 | 
			
		||||
	eventBroadcaster.StartLogging(klog.Infof)
 | 
			
		||||
	eventBroadcaster.StartRecordingToSink(&v1core.EventSinkImpl{Interface: kubeClient.CoreV1().Events("")})
 | 
			
		||||
	recorder := eventBroadcaster.NewRecorder(scheme.Scheme, v1.EventSource{Component: "selinux_warning"})
 | 
			
		||||
	c := &Controller{
 | 
			
		||||
		kubeClient:        kubeClient,
 | 
			
		||||
@@ -112,7 +109,8 @@ func NewController(
 | 
			
		||||
		vpm:               &volume.VolumePluginMgr{},
 | 
			
		||||
		seLinuxTranslator: volumeutil.NewSELinuxLabelTranslator(),
 | 
			
		||||
 | 
			
		||||
		recorder: recorder,
 | 
			
		||||
		eventBroadcaster: eventBroadcaster,
 | 
			
		||||
		eventRecorder:    recorder,
 | 
			
		||||
		queue: workqueue.NewTypedRateLimitingQueueWithConfig[cache.ObjectName](
 | 
			
		||||
			workqueue.DefaultTypedControllerRateLimiter[cache.ObjectName](),
 | 
			
		||||
			workqueue.TypedRateLimitingQueueConfig[cache.ObjectName]{
 | 
			
		||||
@@ -120,7 +118,6 @@ func NewController(
 | 
			
		||||
			},
 | 
			
		||||
		),
 | 
			
		||||
		labelCache: volumecache.NewVolumeLabelCache(),
 | 
			
		||||
		eventRecorder: recorder,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	err := c.vpm.InitPlugins(plugins, prober, c)
 | 
			
		||||
@@ -346,6 +343,9 @@ func (c *Controller) Run(ctx context.Context, workers int) {
 | 
			
		||||
	logger.Info("Starting SELinux warning controller")
 | 
			
		||||
	defer logger.Info("Shutting down SELinux warning controller")
 | 
			
		||||
 | 
			
		||||
	c.eventBroadcaster.StartStructuredLogging(3) // verbosity level 3 is used by the other KCM controllers
 | 
			
		||||
	c.eventBroadcaster.StartRecordingToSink(&v1core.EventSinkImpl{Interface: c.kubeClient.CoreV1().Events("")})
 | 
			
		||||
 | 
			
		||||
	if !cache.WaitForNamedCacheSync("selinux_warning", ctx.Done(), c.podsSynced, c.pvcsSynced, c.pvsSynced, c.csiDriversSynced) {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user