• Kubernetes Submit Queue's avatar
    Merge pull request #47731 from jsravn/use-endpoints-cache-for-endpoint-controller · 6d1da164
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue
    
    Use endpoints informer for the endpoint controller
    
    This substantially reduces the number of API calls made by the endpoint
    controller. Currently the controller makes an API call per endpoint for
    each service that is synced. When the 30s resync is triggered, this
    results in an API call for every single endpoint in the cluster. This
    quickly exceeds the default qps/burst limit of 20/30 even in small
    clusters, leading to delays in endpoint updates.
    
    This change modifies the controller to use the endpoint informer cache
    for all endpoint GETs. This means we only make API calls for changes in
    endpoints. As a result, qps only depends on the pod activity in the
    cluster, rather than the number of services.
    
    
    
    **What this PR does / why we need it**:
    
    Address endpoint update delays as described in https://github.com/kubernetes/kubernetes/issues/47597.
    
    **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
    
    https://github.com/kubernetes/kubernetes/issues/47597
    
    **Special notes for your reviewer**:
    
    **Release note**:
    
    ```release-note
    ```
    6d1da164
Name
Last commit
Last update
..
bootstrap Loading commit data...
certificates Loading commit data...
cloud Loading commit data...
cronjob Loading commit data...
daemon Loading commit data...
deployment Loading commit data...
disruption Loading commit data...
endpoint Loading commit data...
garbagecollector Loading commit data...
history Loading commit data...
job Loading commit data...
namespace Loading commit data...
node Loading commit data...
podautoscaler Loading commit data...
podgc Loading commit data...
replicaset Loading commit data...
replication Loading commit data...
resourcequota Loading commit data...
route Loading commit data...
service Loading commit data...
serviceaccount Loading commit data...
statefulset Loading commit data...
ttl Loading commit data...
volume Loading commit data...
.import-restrictions Loading commit data...
BUILD Loading commit data...
OWNERS Loading commit data...
client_builder.go Loading commit data...
controller_ref_manager.go Loading commit data...
controller_ref_manager_test.go Loading commit data...
controller_utils.go Loading commit data...
controller_utils_test.go Loading commit data...
doc.go Loading commit data...
lookup_cache.go Loading commit data...