Yesterday Rancher commented on my github request for windows support ;
Tested with rancher-server version – v1.3.0-rc1 with catalog “library” set to
Able to add “Windows Server 2016 Standard Evaluation” hosts successfully to rancher environment with orchestration set to “windows”.
Able to launch containers in “nat” network and “transparent” network.
@kvaes , Windows 2016 support will be available as experimental feature in rancher-server 1.3.0 release.
Great news! Let’s take it out for a spin… 😀
Installing the host(s) is the same as any other time… Though the host will still be a Linux machine off course ;
sudo docker run -d –restart=unless-stopped -p 8080:8080 rancher/server:v1.3.0
Though notice that I specified the v1.3.0
-rc1 tag… And let the system do its magic!
(Update : For the stable, release you can omit the -rc1 part!)
Note ; Be aware that this is an early release candidate. Do not use this for your production! There is for instance a bug with the GUI, where the “Auto”-theme is malfunctioning. So switch to light or dark to get that one fixed. 😉
(UPDATE : This part is not needed anymore for the stable 1.3.0 release)
Before you can set up a Windows environment, you’ll have to change catalogs ; Disable the Rancher Certified Library to avoid collisions & enable the Community Contributed one. Then add a customer catalog ; URL : https://github.com/rancher/rancher-catalog Branch : vnext
Once you have this done, you can browse the catalog, and you’ll find “Windows (Experimental)” in there.
That means you are good to go! Now add a new environment… and select “Cattle Windows”.
And then proceed towards “Infrastructure”, and you will get the required info to add a host ;
Copy this information, as you’ll be needing it later on.
Windows 2016 Nodes
So let’s get our windows 2016 nodes up & running… In the Azure Marketplace, look for “containers”, and you’ll find “Windows Server 2016 Datacenter – with Containers”. Use that item to deploy your hosts…
And be sure to have your registration information ready… 😉
You can do a “docker -v” to verify your docker version. And afterwards press the big “play” button. 😉
The script will run, and you’ll notice your host(s) being added…
In this version, you’ll need to add the following network manually to each host ;
This is something that’ll be handled by the Rancher agent itself in the future.
So for our test, let’s create a small demo container (based upon an existing image) ;
And let’s run it…
Be aware though…
Trying to access the container via “localhost” will NOT work ;
I know… I cannot comprehend this either. It’s something I mentioned during the technical preview(s). But here I got a “works as designed” back… When you are used to containers and linux, then this will probably be the first thing you’ll run into.
Docker Hub Integration
Now let’s see how the Rancher stack reacts when we use it to spin up our little container… Before continuing, be sure to build the container on all hosts, or even better, push it to a registry!
So let’s provide the information for the docker hub registry;
Which results in the registry being active in Rancher;
But this gets us into the following situation ;
Apparently, this seems to be something “known“… Though, at this time, I haven’t found a fix for it yet. 😦
Demo Rancher Stack
So spinning up our little container wasn’t that succesful. Let’s try a public one? MSSQL Express…? Let’s create that one.
For networking, we’ll say “NAT” ;
And we shouldn’t forget our environment variables off course!
Give the downloading of the docker image a bit of time, as it’s a few gigabytes… (Yeah, not really how containers should be, I know).
Now I’ve upped it to two containers ;
Let’s check up on the logs… Looks good!
- Rancher providing Windows support is very nice, and it is already showing potential.
- Are you looking for advanced networking stuff and scheduling at the moment? Then you are pretty much out of luck, as it’s still experimental.
- Same goes with a lot of unexplored terrain in terms of Windows containers as such. It’s still new to the field, compared to the Linux ecosystem.
- During my tests, I noticed a lot of performance impact due to the default AntiVirus settings… Be sure to take this into consideration!