With the release of Kubernetes v1.14 today, Windows Server node support has officially graduated from beta to stable! This support enables developers and operators with Windows Server based applications to containerize them and benefit not only from the power of Kubernetes, but also the robust ecosystem surrounding it.
The engineering that supported this release relied on the open source and community led approach that also brought Windows Server containers to life in Windows Server 2016. We are proud and grateful to have been welcomed into the open source container community, working alongside a broad coalition of individuals and companies, including Docker, VMware, Apprenda, Google, and many others – big thanks to you all!
Prior to this support, Kubernetes worker nodes, the virtual or physical servers that host containerized workloads, only supported Linux and thus only ran Linux containers. The v1.5 release of Kubernetes introduced alpha support for Windows Server based workers by cross-compiling the exact same Kubernetes worker node components (kubelet and kube-proxy) for Windows Server and thus providing support for Windows Server containers. This functionality was then graduated to beta in Kubernetes v1.9.
As the Kubernetes community used Windows containers, we identified work needed in the operating system to ensure customers had a great experience. With Windows Server 2019, the core operating system work for pods was integrated and now, with Kubernetes v1.14, the final work has been integrated to support the core Kubernetes scenarios.
The control plane components, such as the API server and management console, are unchanged and continue to run on Linux based nodes for now. The end result is that a single Kubernetes cluster can now have all Linux workers, all Windows Server workers or more likely a mix of both, enabling true heterogeneous workloads (cats and dogs under the same roof).
To get started with Windows Server containers in Kubernetes check out https://aka.ms/k8sWindows. Support for Windows Server in Azure Kubernetes Service (AKS) is coming soon and the link above will update automatically. If you’d rather roll your own cluster from scratch, refer to the documentation on docs.kubernetes.io.
There is a roadmap of additional work the community and customers have already identified, including enabling Group Managed Service Accounts (presently an alpha feature) and support for Hyper-V isolated containers to enhance the capabilities of Windows containers in Kubernetes. This is a journey we are very excited to be on with the ecosystem, community, and customers. Please join in the discussion on those features or start a new discussion on other features you would like to see!
Questions or feedback? Please let us know in the comments.