• Kubernetes Submit Queue's avatar
    Merge pull request #25189 from mfanjie/kube-service-controller-rewritten · c41c3d4d
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue
    
    Rewrite service controller to apply best controller pattern
    
    This PR is a long term solution for #21625:
    We apply the same pattern like replication controller to service controller to avoid the potential process order messes in service controller, the change includes:
    1. introduce informer controller to watch service changes from kube-apiserver, so that every changes on same service will be kept in serviceStore as the only element.
    2. put the service name to be processed to working queue
    3. when process service, always get info from serviceStore to ensure the info is up-to-date
    4. keep the retry mechanism, sleep for certain interval and add it back to queue.
    5. remote the logic of reading last service info from kube-apiserver before processing the LB info as we trust the info from serviceStore.
    
    The UT has been passed, manual test passed after I hardcode the cloud provider as FakeCloud, however I am not able to boot a k8s cluster with any available cloudprovider, so e2e test is not done.
    
    Submit this PR first for review and for triggering a e2e test.
    c41c3d4d
Name
Last commit
Last update
..
gendocs Loading commit data...
genkubedocs Loading commit data...
genman Loading commit data...
genswaggertypedocs Loading commit data...
genutils Loading commit data...
genyaml Loading commit data...
hyperkube Loading commit data...
kube-apiserver Loading commit data...
kube-controller-manager Loading commit data...
kube-dns Loading commit data...
kube-proxy Loading commit data...
kubectl Loading commit data...
kubelet Loading commit data...
kubemark Loading commit data...
kubernetes-discovery Loading commit data...
libs/go2idl Loading commit data...
linkcheck Loading commit data...
mungedocs Loading commit data...
OWNERS Loading commit data...