roadmap icon indicating copy to clipboard operation
roadmap copied to clipboard

Adding support for windows node in kubernetes

Open alexey-gusarov opened this issue 5 years ago • 8 comments

Tell us about your request At now kubernetes starts only in linux-mode. But what about windows-mode? It would be great if there was an opportunity to launch windows containers in Kubernetes. Master node in LCOW (by very nice WSL 2 backend) and one windows node.

Which service(s) is this request for? Docker desktop for windows

Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard? Uncomfortable developing of services that will be run in K8S.

alexey-gusarov avatar Jun 15 '20 03:06 alexey-gusarov

I was also searching for this feature. In this video this functionality is actually demoed (keep watching until the demo). From what I understand the plan was to launch windows containers for k8s in 2019 however I cannot find this feature. Is it still on the roadmap for the near future?

jonaskello avatar Jun 17 '20 22:06 jonaskello

Hello Alexey - could you provide more details on your app and development environment which would require Windows nodes?

412PIT avatar Jun 18 '20 14:06 412PIT

I don't know about @alexey-gusarov but I can provide a short background for our use-case. We make sales tools for the HVAC industry, for example air handling units which consists of several components, eg. heater, cooler, heat-exhanger, filter etc. For each component the manufactorer provides a DLL to make calculations for temperature, pressure drop, humidity, efficiency etc. All these DLLs are for Windows, usually a mix of Win32, COM/VB6, and .NET. Usually they are also very unstable. We put each DLL in a container and use it as a kind of microservice. Since they are all windows based we have a lot of windows containers and we deploy them all to kubernetes and have health checks etc. to restart them when they crash. It would be really nice to replicate this part of the deployment on a local PC when doing development of the main program that calls into all the DLLs. We already use the k8s part of docker-desktop to replicate other parts of the deployment locally, such as database and redis server.

jonaskello avatar Jun 19 '20 11:06 jonaskello

Hello Alexey - could you provide more details on your app and development environment which would require Windows nodes?

We have a lot of dependencies components (windows service, web service) on .Net Framework 4.8. New components we writing on .net core. Old components trying migrate, but it's very slow process. Also we use some linux services: Mongo, Redis, RMQ, Consul. At this moment we trying deploy our services in on-prem K8S.

alexey-gusarov avatar Jun 22 '20 10:06 alexey-gusarov

I'd like to support this feature request. We, too, have services that can only run inside Windows containers. In our case, this is because those services make use of certain Windows technologies and APIs that would be very difficult to replace. Kubernetes supports Windows containers, but in development, we'd also profit a lot if Docker Desktop could make it very easy to add a Windows node.

fschmied avatar Jul 12 '21 06:07 fschmied

Same here, I have mixed Linux and Windows workloads. Windows workloads based on older technology not easy to port to Linux. I can deploy this a a Kubernetes cluster with mixed Linux / Windows node pools, but it would be amazing to be able to run this locally with the Docker Desktop. It doesn't seam that this feature should be hard to implement as Docker Desktop already has built in capabilities for mixed Linux and Windows containers.

Wvdven16 avatar Aug 18 '22 10:08 Wvdven16

It has been a couple of years, so I thought I would note that this would be a very nice to have from docker for local development of mixed Windows\Linux workloads. We have some niche technology which we've invested quite a number of years into which runs only on Windows but we've been moving into Linux\Kubernetes. Whilst it is possible to do this locally (with a Windows machine) by using Hyper-V and kubeadm, it is massively non-trivial to get everything working correctly.

KyronSr avatar Jul 18 '24 16:07 KyronSr

This would be great to have. I'm currently looking at moving an existing MSMQ based service into a Windows container in K8s, but just realized that Docker Desktop does not support running Windows nodes, so I'll need to find something else I can use for this in order to run my tests locally.

Windows is not going away anytime soon, there's too much legacy code out there that can be adapted to run in Windows Containers with moderate difficulty but would prove just too time consuming to fully rewrite in either .net or other Linux native tech stack, so investing time in making it possible to have both windows and Linux nodes in docker desktop would be very useful to many people out there.

fmad avatar Jan 23 '25 13:01 fmad