flannel-io / flannel

flannel is a network fabric for containers, designed for Kubernetes
Apache License 2.0
8.6k stars 2.87k forks source link

Helm Chart: Include option for windows-sig flannel overlay #1984

Open jjmilburn opened 1 month ago

jjmilburn commented 1 month ago

When setting up Flannel in a hybrid cluster, the existing Helm chart is insufficient to spawn pods on the Windows nodes. In order to spawn pods in the Windows nodes, the 'Flannel Overlay' (ConfigMap and DaemonSet) from Kubernetes SIG Windows Tools needs to be manually applied.

https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml

Expected Behavior

Option exists (default disabled) in the Helm chart to install the kube-flannel.yml overlay for Hybrid Windows/Linux clusters.

Current Behavior

After joining cluster successfully, Windows node remains in "NotReady" state.

Possible Solution

Use existing CRDs from the Kubernetes SIG to automatically resolve the issue when deploying the Flannel Helm chart in a hybrid context

Steps to Reproduce (for bugs)

  1. Use Flannel Helm chart to deploy Flannel to cluster with only Linux nodes. Confirm flannel pods launch on nodes.
  2. Set flannel.vni to 4096 and flannel.backendPort to 4789, Confirm flannel pods launch on nodes.
  3. Add a Windows node to the cluster via the instructions here: https://github.com/kubernetes-sigs/sig-windows-tools/blob/master/guides/guide-for-adding-windows-node.md
  4. Confirm the node is added to the cluster, but is in "NotReady" status, waiting on networking

Context

Need to run a Windows-only workload in an existing cluster that uses Fabric, and am trying to add a Windows node to support this required workload.

Your Environment

rbrtbnfgl commented 3 weeks ago

So you need to add a patch on the chart to have by default the windows feature. I can check how they apply this and if we can support it for the next releases.