diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index 656d9b4610a..82e49538cb6 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -1750,6 +1750,10 @@ func (kl *Kubelet) syncPod(o syncPodOptions) error { // Generate final API pod status with pod and status manager status apiPodStatus := kl.generateAPIPodStatus(pod, podStatus) + // The pod IP may be changed in generateAPIPodStatus if the pod is using host network. (See #24576) + // TODO(random-liu): After writing pod spec into container labels, check whether pod is using host network, and + // set pod IP to hostIP directly in runtime.GetPodStatus + podStatus.IP = apiPodStatus.PodIP // Record the time it takes for the pod to become running. existingStatus, ok := kl.statusManager.GetPodStatus(pod.UID)