ImagePullBackOff Error on Windows Node

I have 1 Linux node and 1 windows node running Kubernetes 1.15.4.

I’m trying to deploy a sample ASPNet application to the Windows node and the deployment fails because the Windows node cannot download the image.

Events:
Type Reason Age From Message


Normal Scheduled 3m2s default-scheduler Successfully assigned default/sample-8697d596f5-bxmrl to win1-k8s
Warning Failed 17s kubelet, win1-k8s Failed to pull image “mcr.microsoft.com/dotnet/framework/samples:aspnetapp”: rpc error: code = Unknown desc = context canceled
Warning Failed 17s kubelet, win1-k8s Error: ErrImagePull
Warning Failed 17s kubelet, win1-k8s Error: ImagePullBackOff
Warning MissingClusterDNS 3s (x4 over 3m1s) kubelet, win1-k8s pod: “sample-8697d596f5-bxmrl_default(7f8e1feb-d660-462b-b731-01cb5ae4ec3c)”. kubelet does not have ClusterDNS IP configured and cannot create Pod using “ClusterFirst” policy. Falling back to “Default” policy.

The deployment will succeed if I download the image to the Windows node first. But it still shows the “kubelet does not have ClusterDNS IP configured…” warning.

Any ideas?

Is the kubelet providing any logs that might point to a possible issue there? There is a solution I came across but it’s for a linux server, it might be applicable though, https://stackoverflow.com/questions/45837246/kubelet-does-not-have-clusterdns-ip-configured-and-cannot-create-pod-using-clus

I added two switches to the kubelet service ImagePath reg key to resolve each error.

To resolve this error; “kubelet does not have ClusterDNS IP configured and cannot create Pod using “ClusterFirst” policy. Falling back to “Default” policy.”
I added --cluster-dns 10.96.0.10 to the ImagePath reg key

For this error; “Failed to pull image “mcr.microsoft.com/dotnet/framework/samples:aspnetapp”: rpc error: code = Unknown desc = context canceled”.
I added --image-pull-progress-deadline=20m to the ImagePath reg key.

Once those two flags got passed in everything seems to be working?

Yes! The Windows node downloaded the container image specified in the YAML and the pod was successfully started.

woohoo! Awesome to hear, Happy Kube-ing :slight_smile: