• wlan0's avatar
    Use ProviderID to address nodes in the cloudprovider · a68c783d
    wlan0 authored
    The cloudprovider is being refactored out of kubernetes core. This is being
    done by moving all the cloud-specific calls from kube-apiserver, kubelet and
    kube-controller-manager into a separately maintained binary(by vendors) called
    cloud-controller-manager. The Kubelet relies on the cloudprovider to detect information
    about the node that it is running on. Some of the cloudproviders worked by
    querying local information to obtain this information. In the new world of things,
    local information cannot be relied on, since cloud-controller-manager will not
    run on every node. Only one active instance of it will be run in the cluster.
    
    Today, all calls to the cloudprovider are based on the nodename. Nodenames are
    unqiue within the kubernetes cluster, but generally not unique within the cloud.
    This model of addressing nodes by nodename will not work in the future because
    local services cannot be queried to uniquely identify a node in the cloud. Therefore,
    I propose that we perform all cloudprovider calls based on ProviderID. This ID is
    a unique identifier for identifying a node on an external database (such as
    the instanceID in aws cloud).
    a68c783d
cloud.go 8.25 KB