Hi Thanks for your response.
There are no specific logs which I could find. Is there any specific location where the logs can be found.
But I could find the below lines on the powershell which is running for kubelet not sure if this helps
Flag –cluster-dns has been deprecated, This parameter should be set via the config file specified by the Kubelet’s --config flag. See Set Kubelet parameters via a config file - Kubernetes for more information.
Flag –cluster-domain has been deprecated, This parameter should be set via the config file specified by the Kubelet’s --config flag. See Set Kubelet parameters via a config file - Kubernetes for more information.
22608 docker_sandbox.go:697] ResolvConfPath is empty.
6224 proxier.go:1041] Endpoint information not available for service default/ds-p-resol:. Not applying any policy
There are two ways we tried to connect the worker node:
- " .\start.ps1 -ManagementIP 10.0.2.95 -NetworkMode l2bridge -ClusterCIDR 10.244.0.0/16 -ServiceCIDR 10.96.0.0/12 -KubeDnsServiceIP 10.96.0.10 -LogDir C:\k\logs" – 10.96.0.10 is the kube-dns service ip also shared previously
In this case when we have tried to debug into the running container and tried to do a nslookup we got the below error "DNS Request timed out "
and the ipconfig inside the container says the below
And we are unable to ping anything inside the container which was created for the pod.
And then we tried another approach
2. " .\start.ps1 -ManagementIP 10.0.2.95 -NetworkMode l2bridge -ClusterCIDR 10.244.0.0/16 -ServiceCIDR 10.96.0.0/12 -KubeDnsServiceIP 8.8.8.8 -LogDir C:\k\logs" – which is google public DNS ip
It seems to reslove and give output for publicly exposed ips only and the corresponding ip config is as below
Reference screenshots:
But when we are using domain name instead of ips, they are not getting resolved.
But the same was tried in the ubuntu(master node) in which we deployed a sample container “busybox” to check the DNS resolving.
We found that when we get into the container of this pod, the ubuntu container was able to resolve the domain names.
So in a similar way how to configure a worker node(windows host) to resolve the domain names
And other issue which persists only in windows is when we try running command on pods as below it gives connection timeout error
PS C:\kubernetes test> kubectl exec -ti py-google-5d78fff-5jdfx – nslookup google.com
Error from server: error dialing backend: dial tcp 10.244.2.2:10250: i/o timeout
where 10.244.2.2 is the windows node internal ip which is different from the actual windows ip
There were some warning message found when we described the coredns pod similar to the below
Warning FailedCreatePodSandBox 36m (x2 over 36m) kubelet, ip-10-0-2-179 (combined from similar events): Failed create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container “2d84d4079a5f909784a3c54eb5201fec4f8bcf401c3bbbd6e994e4923ff260de” network for pod “coredns-86c58d9df4-r6mdk”: NetworkPlugin cni failed to set up pod “coredns-86c58d9df4-r6mdk_kube-system” network: open /run/flannel/subnet.env: no such file or directory