• Kubernetes Submit Queue's avatar
    Merge pull request #50258 from liggitt/token-cache · 42adb9ef
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue (batch tested with PRs 49488, 50407, 46105, 50456, 50258)
    
    Enable caching successful token authentication
    
    Resolves #50472
    
    To support revocation of service account tokens, an etcd lookup of the token and service account is done by the token authenticator. Controllers that make dozens or hundreds of API calls per second (like the endpoints controller) cause this lookup to be done very frequently on the same objects.
    
    This PR:
    * Implements a cached token authenticator that conforms to the authenticator.Token interface
    * Implements a union token authenticator (same approach as the union request authenticator, conforming to the authenticator.Token interface)
    * Cleans up the auth chain construction to group all token authenticators (means we only do bearer and websocket header parsing once)
    * Adds a 10-second TTL cache to successful token authentication
    
    ```release-note
    API server authentication now caches successful bearer token authentication results for a few seconds.
    ```
    42adb9ef
Name
Last commit
Last update
..
api Loading commit data...
apimachinery/tests Loading commit data...
apis Loading commit data...
auth Loading commit data...
bootstrap/api Loading commit data...
capabilities Loading commit data...
client Loading commit data...
cloudprovider Loading commit data...
controller Loading commit data...
conversion Loading commit data...
credentialprovider Loading commit data...
features Loading commit data...
fieldpath Loading commit data...
fields Loading commit data...
generated Loading commit data...
hyperkube Loading commit data...
kubeapiserver Loading commit data...
kubectl Loading commit data...
kubelet Loading commit data...
kubemark Loading commit data...
labels Loading commit data...
master Loading commit data...
printers Loading commit data...
probe Loading commit data...
proxy Loading commit data...
quota Loading commit data...
registry Loading commit data...
routes Loading commit data...
runtime Loading commit data...
security Loading commit data...
securitycontext Loading commit data...
serviceaccount Loading commit data...
ssh Loading commit data...
types Loading commit data...
util Loading commit data...
version Loading commit data...
volume Loading commit data...
watch Loading commit data...
BUILD Loading commit data...
OWNERS Loading commit data...