diff --git a/pkg/kubelet/kubelet_node_status.go b/pkg/kubelet/kubelet_node_status.go index 4b7f4e1becb..17f85466961 100644 --- a/pkg/kubelet/kubelet_node_status.go +++ b/pkg/kubelet/kubelet_node_status.go @@ -494,20 +494,10 @@ func (kl *Kubelet) setNodeAddress(node *v1.Node) error { return fmt.Errorf("failed to get node address from cloud provider that matches ip: %v", kl.nodeIP) } - // Only add a NodeHostName address if the cloudprovider did not specify one - // (we assume the cloudprovider knows best) - var addressNodeHostName *v1.NodeAddress - for i := range nodeAddresses { - if nodeAddresses[i].Type == v1.NodeHostName { - addressNodeHostName = &nodeAddresses[i] - break - } - } - if addressNodeHostName == nil { - hostnameAddress := v1.NodeAddress{Type: v1.NodeHostName, Address: kl.GetHostname()} - nodeAddresses = append(nodeAddresses, hostnameAddress) - } else { - glog.V(2).Infof("Using Node Hostname from cloudprovider: %q", addressNodeHostName.Address) + // Only add a NodeHostName address if the cloudprovider did not specify any addresses. + // (we assume the cloudprovider is authoritative if it specifies any addresses) + if len(nodeAddresses) == 0 { + nodeAddresses = []v1.NodeAddress{{Type: v1.NodeHostName, Address: kl.GetHostname()}} } node.Status.Addresses = nodeAddresses } else {