• Kubernetes Submit Queue's avatar
    Merge pull request #44258 from wlan0/master · a0627825
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue (batch tested with PRs 45508, 44258, 44126, 45441, 45320)
    
    cloud initialize node in external cloud controller
    
    @thockin This PR adds support in the `cloud-controller-manager` to initialize nodes (instead of kubelet, which did it previously)
    
    This also adds support in the kubelet to skip node cloud initialization when `--cloud-provider=external`
    
    Specifically,
    
    Kubelet
    
    1. The kubelet has a new flag called `--provider-id` which uniquely identifies a node in an external DB
    2. The kubelet sets a node taint - called "ExternalCloudProvider=true:NoSchedule" if cloudprovider == "external"
    
    Cloud-Controller-Manager
    
    1. The cloud-controller-manager listens on "AddNode" events, and then processes nodes that starts with that above taint. It performs the cloud node initialization steps that were previously being done by the kubelet.
    2. On addition of node, it figures out the zone, region, instance-type, removes the above taint and updates the node.
    3. Then periodically queries the cloudprovider for node addresses (which was previously done by the kubelet) and updates the node if there are new addresses
    
    ```release-note
    NONE  
    ```
    a0627825
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...