mirror of
https://github.com/k3s-io/kubernetes.git
synced 2026-01-05 07:27:21 +00:00
Switch the tokens controller to use shared informers
Tokens controller previously needed a bit of extra help in order to be safe for concurrent use. The new MutationCache allows it to keep a local cache and still use a shared informer. The filtering event handler lets it only see changes to secrets it cares about.
This commit is contained in:
@@ -397,14 +397,20 @@ func StartControllers(controllers map[string]InitFunc, s *options.CMServer, root
|
||||
rootCA = rootClientBuilder.ConfigOrDie("tokens-controller").CAData
|
||||
}
|
||||
|
||||
go serviceaccountcontroller.NewTokensController(
|
||||
controller := serviceaccountcontroller.NewTokensController(
|
||||
sharedInformers.Core().V1().ServiceAccounts(),
|
||||
sharedInformers.Core().V1().Secrets(),
|
||||
rootClientBuilder.ClientOrDie("tokens-controller"),
|
||||
serviceaccountcontroller.TokensControllerOptions{
|
||||
TokenGenerator: serviceaccount.JWTTokenGenerator(privateKey),
|
||||
RootCA: rootCA,
|
||||
},
|
||||
).Run(int(s.ConcurrentSATokenSyncs), stop)
|
||||
)
|
||||
time.Sleep(wait.Jitter(s.ControllerStartInterval.Duration, ControllerStartJitter))
|
||||
go controller.Run(int(s.ConcurrentSATokenSyncs), stop)
|
||||
|
||||
// start the first set of informers now so that other controllers can start
|
||||
sharedInformers.Start(stop)
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user