Kubernetes - fail to install flannel network on windows node when node has more than one network interfaces

I have a mixed k8s cluster v1.23.2 (

  • control plane on a linux VM Centos 7 ( running on ESXi host, let’s call it SRV1)

and a

  • windows server 2019 node on another physical server ( SRV2 )
  • both SRV1 and SRV2 are directly connected through a network cable

Both linux and windows enpoints have 2 Network interfaces ( the one I want to run k8s cluster is 192.168.100.0/24 and it has no internet access ). The second network has internet access ( to retrieve all k8s needed software when deploying cluster and has IP addres 10.65.11.0/24 )

I initialize the k8s without problems:

[root@plane ~]# kubectl cluster-info Kubernetes control plane is running at https://192.168.100.11:6443 CoreDNS is running at https://192.168.100.11:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

I also sucesfully deploy k8s on windows 2019 server node using https://github.com/kubernetes-sigs/sig-windows-tools/blob/1f4abb21ff35d68b1b2c5d49eefb2daa05bc98d8/kubeadm/flannel/flannel-overlay.yml However the flannel is using the network interface with internet access ( IP address 10.65.11.7 ) and not the 192.168.100.1 from it’s non-internet interface. This basically makes the k8s pods network useless because I can not ping a pod started on linux control plane from a pod started on windows node ( and vice-versa )

And here is the final problem, when I try to change the interface name here → https://github.com/kubernetes-sigs/sig-windows-tools/blob/1f4abb21ff35d68b1b2c5d49eefb2daa05bc98d8/kubeadm/flannel/flannel-overlay.yml#L34 to force flannel use the non-internet interface → I get the error inside flannel-windows-pod:

[root@plane ~]# kubectl logs -n kube-system kube-flannel-ds-windows-amd64-qt895

Configuring CNI for docker

ConvertFrom-Json: C:\etc\kube-flannel-windows\run.ps1:18 Line | 18 |

$networkJson = wins cli net get | convertfrom-json

 |                                    ~~~~~~~~~~~~~~~~

| Conversion from JSON failed with error: Unexpected character encountered
| while parsing value: ath ‘’, line 0, position 0.

IS IT POSSIBLE TO FORCE FLANNEL USE A SPECIFIC NETWORK INTERFACE ? AND NOT THE ONE DEFAULT ONE