diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index 496176116b4..7cd76570ea8 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -3565,7 +3565,7 @@ func (kl *Kubelet) generateAPIPodStatus(pod *api.Pod, podStatus *kubecontainer.P }) if !kl.standaloneMode { - hostIP, err := kl.GetHostIP() + hostIP, err := kl.getHostIPAnyWay() if err != nil { glog.V(4).Infof("Cannot get host IP: %v", err) } else { diff --git a/pkg/kubelet/kubelet_getters.go b/pkg/kubelet/kubelet_getters.go index 6c594f53733..5032ebf80f1 100644 --- a/pkg/kubelet/kubelet_getters.go +++ b/pkg/kubelet/kubelet_getters.go @@ -218,3 +218,12 @@ func (kl *Kubelet) GetHostIP() (net.IP, error) { } return nodeutil.GetNodeHostIP(node) } + +// getHostIPAnyway attempts to return the host IP from kubelet's nodeInfo, or the initialNodeStatus +func (kl *Kubelet) getHostIPAnyWay() (net.IP, error) { + node, err := kl.getNodeAnyWay() + if err != nil { + return nil, err + } + return nodeutil.GetNodeHostIP(node) +}