docker / roadmap

Welcome to the Public Roadmap for All Things Docker! We welcome your ideas.
https://github.com/orgs/docker/projects/51
Creative Commons Zero v1.0 Universal
1.73k stars 251 forks source link

Adding support for windows node in kubernetes #112

Open alexey-gusarov opened 4 years ago

alexey-gusarov commented 4 years ago

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.

jonaskello commented 4 years ago

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?

412PIT commented 4 years ago

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

jonaskello commented 4 years ago

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.

alexey-gusarov commented 4 years ago

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.

fschmied commented 3 years ago

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.

Wvdven16 commented 2 years ago

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.

KyronSr commented 1 month ago

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.