I've started an interesting exploration on the integration of Microsoft Windows Containers and Linux Containers in an OCP Environment. This allows a true bi-modal IT technical implementation by combining the strength of both platforms into one cluster.
So, I start this off, with the deployment of an OpenShift Cluster on Azure, using the 3.6 reference architecture. After this is run, I used the Azure Portal to add a Windows Server 2016 Node to the cluster.
So if you look closely, this is the typical OCP 3.6 cluster on Azure, and there is now an msnode in the same resource group. This shows there is no problem mixing and matching Windows compute nodes in an ocp cluster. Next, what about containers on Windows, and more importantly docker?
Here you can see the docker command is in windows, and pretty well what we are used too. Just that we are in PowerShell and not in Bash. Next, we should try to pull a container, for this, we do a docker pull of Windows Server Core, which is a common base image for Windows Containers.
At this point, the Windows Server Core completes. You see the standard Docker hash that we see on RHEL.
So I had been asked, what do you do with Windows containers, and the answer is run applications. My favorite app language is NodeJS, so I wanted to see if I could get that working in a Windows environment. So let's grab a Windows NodeJS base image. I don't see a Microsoft one, but I did find one built by another developer. Let's pull it:
Here you can see the traditional Docker layering of the container. The first part being the Window Core Image we pulled earlier. And the download completes.
Now, let's run the container and use NodeJS in cli mode. This technique is common in using containers in a RHEL environment when you wish to debug or try something.
So we managed to add a new virtual machine into an Azure-based Openshift cluster and validate we can run docker commands. So, the first step in doing this automatically, and integrating Windows nodes into an Openshift cluster.
Last updated: September 3, 2019