[Feature] Experimental Windows node support for Hyper-V driver
Author: bobsiraCreated Jun 23, 2026Updated Sep 9, 2026
Labelsos/windowsco/hyperv
Summary
Add support for starting a mixed Linux/Windows Kubernetes cluster with minikube on Windows using the Hyper-V driver.
minikube start -n 2 --node-os=linux,windows
This provisions a Linux control-plane node (standard minikube) and a Windows Server 2025 worker node from a pre-built VHDX image, joined to the same cluster via kubeadm. Windows container workloads can then be scheduled using standard nodeSelector: kubernetes.io/os: windows.
Scope for v1.39 (experimental)
-
--node-os=linux,windowsflag onminikube start - Automatic Hyper-V VM provisioning from pre-built VHDX (~22 GB, cached)
- kubeadm join with Windows containerd CRI (
npipe:////./pipe/containerd-containerd) - Flannel VXLAN CNI with Windows-compatible VNI/port (4096/4789)
- Windows kube-proxy HostProcess container
- Integration test:
TestWindowsWorkloadon self-hosted Azure Windows runner - Tutorial documentation
Known limitations (experimental)
- Hyper-V driver only (Windows host required)
- Exactly 2 nodes (
--nodes=2) — one Linux control plane + one Windows worker - First start takes 10–15 minutes (22 GB VHD download + copy)
- Windows node kubelet version is pre-baked in the VHD (v1.35.0 for WS2025 images)
PRs
- Windows node driver support: #22503
- Windows node VHD image pipeline: https://github.com/kubernetes-sigs/minikube-os/pull/2
Test infrastructure
CI runs the TestWindowsWorkload integration test on a self-hosted Azure Windows runner, giving confidence for contributors who don't have a Windows machine to test locally.
Last successful run: https://github.com/bobsira/minikube/actions/runs/27341340678
Source: kubernetes/minikube