What would you like to be added:
With Calico for windows now open sourced, it sounds worthwhile to add support for Windows or provide a separate playbook that can be used to join windows nodes to the cluster.
Why is this needed:
Organizations with mixed workloads, on-prem, that use kubespray would benefit from having an official path for installation.
One of my colleagues (@eyenx) has successfully joined Windows nodes to an existing kubespray cluster and we have a customer that might be wiling to invest in the work required to bring Windows node support to kubespray, because it would make maintaining their cluster easier in the future.
I'm not sure how much work would be required to seamlessly integrate it with the bootstrap and upgrade tasks. What do you think @Miouge1? Is this something that would be doable in reasonable time?
Add link to https://github.com/kubernetes-sigs/kubespray/issues/2889 Previous effort to support win.
In my work flow I want to add a windows server 2019 to a existing linux k8s cluster. Seems like kubespray currently does not support it. This can be a useful feature.
------- Edit:
I followed the guide https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes/ and successfully added windows node to existing k8s cluster. Seems like those steps can be automated in kubespray.
Quick summary of an issue we ran into with our work.
nodelocaldns doesn't work on Windows. You need to pass --cluster-dns with the CoreDNS clusterIP as a parameter to the Windows kubelets to make DNS resolution work.
Quickly summing up my notes for further possible implementation for Joining Windows Nodes with Flannel as CNI
net-conf.json of configMap kube-flannelC:\k\startKubelet.ps1 for nodelocaldns fix
Most helpful comment
One of my colleagues (@eyenx) has successfully joined Windows nodes to an existing kubespray cluster and we have a customer that might be wiling to invest in the work required to bring Windows node support to kubespray, because it would make maintaining their cluster easier in the future.
I'm not sure how much work would be required to seamlessly integrate it with the bootstrap and upgrade tasks. What do you think @Miouge1? Is this something that would be doable in reasonable time?