Kubernetes on Windows: Can't connect to Pods from node host server or Internet

10/29/2018

I have a simple one master (Ubuntu 1604), one worker (Windows Server 1803) Kubernetes cluster running in AWS. I am using Flannel for networking.

I have been able to deploy windows containers using kubectl from the master without issue. Deploying multiple pods shows they are able to talk to each other. But I am not able to ping or curl the pods from even the Kubernetes windows node host, or from the open internet. Also, the pods are not able to communicate with the outside internet either. (Can't curl external DNS names or even IP addresses.)

Side note: Deploying the same image directly with Docker on the Windows node is able to connect to the internet and be accessed over the internet.

I used the following setup from Microsoft, which uses kubeadm, flannel and scripts from Microsoft SDN repo.

https://onedrive.live.com/view.aspx?resid=E2B6765015E5FA01!339&ithint=file%2cdocx&app=Word&authkey=!AGvs_s_hWs7xHGs

It is my understanding that on Windows the host network interface is not connected to the Kubernetes network interface by default, but the Docker network uses the default interface. Which might be why docker deployments can be accessed but Kubernetes deployments cannot.

However, I haven't found info on connecting these networks when using Flannel for pod communication on Windows.

I can add any logs or config info that anyone thinks is useful.

Any thoughts? Thanks for your help!

More Details: I am looking into this: https://unofficial-kubernetes.readthedocs.io/en/latest/getting-started-guides/windows/ which describes connecting network interfaces between the Windows default and Kubernetes, but does not seem to rely on the same Flannel Host-GW model I used to set this up.

-- mm1620
amazon-web-services
docker
flannel
kubernetes
windows

0 Answers