• 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
..
clicheck Loading commit data...
cloud-controller-manager Loading commit data...
gendocs Loading commit data...
genkubedocs Loading commit data...
genman Loading commit data...
genslateyaml Loading commit data...
genswaggertypedocs Loading commit data...
genutils Loading commit data...
genyaml Loading commit data...
gke-certificates-controller Loading commit data...
hyperkube Loading commit data...
kube-apiserver Loading commit data...
kube-controller-manager Loading commit data...
kube-proxy Loading commit data...
kubeadm Loading commit data...
kubectl Loading commit data...
kubelet Loading commit data...
kubemark Loading commit data...
libs/go2idl Loading commit data...
linkcheck Loading commit data...
mungedocs Loading commit data...
BUILD Loading commit data...
OWNERS Loading commit data...