diff --git a/pkg/kubelet/nodestatus/setters.go b/pkg/kubelet/nodestatus/setters.go index b1fb7e8524b..19bb6ce7295 100644 --- a/pkg/kubelet/nodestatus/setters.go +++ b/pkg/kubelet/nodestatus/setters.go @@ -135,6 +135,9 @@ func NodeAddress(nodeIPs []net.IP, // typically Kubelet.nodeIPs // in https://github.com/kubernetes/kubernetes/issues/120720. // We are already hinting the external cloud provider via the annotation AnnotationAlphaProvidedIPAddr. if !nodeIPSpecified { + node.Status.Addresses = []v1.NodeAddress{ + {Type: v1.NodeHostName, Address: hostname}, + } return nil } } diff --git a/pkg/kubelet/nodestatus/setters_test.go b/pkg/kubelet/nodestatus/setters_test.go index e69a85cb320..1666683ef21 100644 --- a/pkg/kubelet/nodestatus/setters_test.go +++ b/pkg/kubelet/nodestatus/setters_test.go @@ -238,15 +238,19 @@ func TestNodeAddress(t *testing.T) { nodeIP: netutils.ParseIPSloppy("::"), nodeAddresses: []v1.NodeAddress{}, cloudProviderType: cloudProviderExternal, - expectedAddresses: []v1.NodeAddress{}, - shouldError: false, + expectedAddresses: []v1.NodeAddress{ + {Type: v1.NodeHostName, Address: testKubeletHostname}, + }, + shouldError: false, }, { name: "cloud provider is external and no nodeIP", nodeAddresses: []v1.NodeAddress{}, cloudProviderType: cloudProviderExternal, - expectedAddresses: []v1.NodeAddress{}, - shouldError: false, + expectedAddresses: []v1.NodeAddress{ + {Type: v1.NodeHostName, Address: testKubeletHostname}, + }, + shouldError: false, }, { name: "cloud doesn't report hostname, no override, detected hostname mismatch",