Windows containers
Buoyant Enterprise for Linkerd supports Windows Kubernetes workloads. These workloads can be meshed normally and benefit from the full Linkerd feature set.
Meshing Windows workloads with Linkerd has some requirements above and beyond meshing Linux workloads.
Maturity
Windows support for Linux is currently in beta. This feature has primarily been tested on Azure AKS clusters.
Requirement: Hybrid cluster
The Linkerd control plane must run on Linux nodes. Thus, meshing Windows workloads requires a hybrid cluster comprising both Linux and Windows nodes.
Requirement: Windows CNI plugin
In order for Linkerd to automatically route traffic to and from Windows pods through the data plane proxy in those pods, it requires a CNI plugin. This plugin must be installed prior to meshing workloads on these nodes.
(Note that while a corresponding CNI plugin is available for Linux nodes, it is not required. Linux nodes without the CNI plugin will use init containers.)
Enabling Windows support
Once the Windows CNI plugin has been installed, there are two annotations that must be set to mesh a Windows workload:
The
nodeSelectorof the workload must be set tokubernetes.io/os: windows. (Alternatively, you can set the value of thelinkerd.io/injectannotation towindows.)The
config.linkerd.io/proxy-imageannotation must be set toghcr.io/buoyantio/proxy-win.
With these annotations in place, the Windows workloads should be automatically meshed upon pod creation.