• 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
..
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...
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...