How to try out the experimental windows 2016 support in the Rancher 1.3.0 release candidate?

Introduction

Yesterday Rancher commented on my github request for windows support ;

Tested with rancher-server version – v1.3.0-rc1 with catalog “library” set to vnext branch in https://github.com/rancher/rancher-catalog

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… 😀

 

Rancher Host

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-rc1

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. 😉

 

Rancher Environment

(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 ;

2016-12-21-10_05_47-rancher

Disable the Rancher Certified Library to avoid collisions & enable the Community Contributed one. Then add a customer catalog ;

2016-12-21-10_05_31-rancher

Once you have this done, you can browse the catalog, and you’ll find “Windows (Experimental)” in there.

2016-12-21-10_06_20-settings

That means you are good to go! Now add a new environment… and select “Cattle Windows”.

2016-12-21-09_41_29-rancher

And then proceed towards “Infrastructure”, and you will get the required info to add a host ;

2016-12-21-09_43_21-rancher

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…

2016-12-21-09_42_33-windows-server-2016-datacenter-with-containers-microsoft-azure
Connect to the host…
2016-12-21-10_00_56-kvaesxdocker01-microsoft-azure

And be sure to have your registration information ready… 😉

2016-12-21-10_03_47-rancher

Now open up the “ISE” and paste the information in there ; 
2016-12-21-10_04_58-kvaesxdocker01-23-97-217-202_3389-remote-desktop-connection

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…

2016-12-21-10_05_13-rancher
2016-12-21-10_09_11-rancher

In this version, you’ll need to add the following network manually to each host ;

2016-12-21-10_07_17-kvaesxdocker01-23-97-217-202_3389-remote-desktop-connection

This is something that’ll be handled by the Rancher agent itself in the future.

 

Demo container

So for our test, let’s create a small demo container (based upon an existing image) ;

2016-12-21-10_39_12-kvaesxdocker01-23-97-217-202_3389-remote-desktop-connection

And let’s run it…

2016-12-21-10_43_33-kvaesxdocker01-23-97-217-202_3389-remote-desktop-connection

And that seems to be working!
2016-12-21-10_47_25-23-97-217-202_8000

Be aware though…

Trying to access the container via “localhost” will NOT work ;

2016-12-21-10_47_18-kvaesxdocker01-23-97-217-202_3389-remote-desktop-connection

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!

2016-12-21-12_20_18-kvaesxdocker01-23-97-217-202_3389-remote-desktop-connection

Though when trying this, we are getting an authentication required error…
2016-12-21-12_22_41-rancher

So let’s provide the information for the docker hub registry;

2016-12-21-12_22_28-rancher

Which results in the registry being active in Rancher;

2016-12-21-12_23_00-rancher

But this gets us into the following situation ;

2016-12-21-12_23_59-rancher

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.

2016-12-21-12_39_09-rancher

For networking, we’ll say “NAT” ;

2016-12-21-12_39_17-rancher

And we shouldn’t forget our environment variables off course!

2016-12-21-12_39_24-rancher

Press “create”, and we’re off…2016-12-21-12_39_34-settings

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).

2016-12-21-12_40_32-rancher

Now I’ve upped it to two containers ;

2016-12-21-13_04_41-rancher

Let’s check up on the logs… Looks good!

2016-12-21-13_05_15-rancher

 

 

Summary

  • 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!

One thought on “How to try out the experimental windows 2016 support in the Rancher 1.3.0 release candidate?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.