#23209·minikube

[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,windows flag on minikube 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: TestWindowsWorkload on 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

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