mirror of
https://github.com/optim-enterprises-bv/kubernetes.git
synced 2025-11-14 21:45:11 +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
|
cmpm csimigration.PluginManager
|
||||||
csiTranslator csimigration.InTreeToCSITranslator
|
csiTranslator csimigration.InTreeToCSITranslator
|
||||||
seLinuxTranslator volumeutil.SELinuxLabelTranslator
|
seLinuxTranslator volumeutil.SELinuxLabelTranslator
|
||||||
|
eventBroadcaster record.EventBroadcaster
|
||||||
eventRecorder record.EventRecorder
|
eventRecorder record.EventRecorder
|
||||||
|
|
||||||
recorder record.EventRecorder
|
|
||||||
queue workqueue.TypedRateLimitingInterface[cache.ObjectName]
|
queue workqueue.TypedRateLimitingInterface[cache.ObjectName]
|
||||||
|
|
||||||
labelCache volumecache.VolumeCache
|
labelCache volumecache.VolumeCache
|
||||||
@@ -95,8 +94,6 @@ func NewController(
|
|||||||
) (*Controller, error) {
|
) (*Controller, error) {
|
||||||
|
|
||||||
eventBroadcaster := record.NewBroadcaster(record.WithContext(ctx))
|
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"})
|
recorder := eventBroadcaster.NewRecorder(scheme.Scheme, v1.EventSource{Component: "selinux_warning"})
|
||||||
c := &Controller{
|
c := &Controller{
|
||||||
kubeClient: kubeClient,
|
kubeClient: kubeClient,
|
||||||
@@ -112,7 +109,8 @@ func NewController(
|
|||||||
vpm: &volume.VolumePluginMgr{},
|
vpm: &volume.VolumePluginMgr{},
|
||||||
seLinuxTranslator: volumeutil.NewSELinuxLabelTranslator(),
|
seLinuxTranslator: volumeutil.NewSELinuxLabelTranslator(),
|
||||||
|
|
||||||
recorder: recorder,
|
eventBroadcaster: eventBroadcaster,
|
||||||
|
eventRecorder: recorder,
|
||||||
queue: workqueue.NewTypedRateLimitingQueueWithConfig[cache.ObjectName](
|
queue: workqueue.NewTypedRateLimitingQueueWithConfig[cache.ObjectName](
|
||||||
workqueue.DefaultTypedControllerRateLimiter[cache.ObjectName](),
|
workqueue.DefaultTypedControllerRateLimiter[cache.ObjectName](),
|
||||||
workqueue.TypedRateLimitingQueueConfig[cache.ObjectName]{
|
workqueue.TypedRateLimitingQueueConfig[cache.ObjectName]{
|
||||||
@@ -120,7 +118,6 @@ func NewController(
|
|||||||
},
|
},
|
||||||
),
|
),
|
||||||
labelCache: volumecache.NewVolumeLabelCache(),
|
labelCache: volumecache.NewVolumeLabelCache(),
|
||||||
eventRecorder: recorder,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
err := c.vpm.InitPlugins(plugins, prober, c)
|
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")
|
logger.Info("Starting SELinux warning controller")
|
||||||
defer logger.Info("Shutting down 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) {
|
if !cache.WaitForNamedCacheSync("selinux_warning", ctx.Done(), c.podsSynced, c.pvcsSynced, c.pvsSynced, c.csiDriversSynced) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user