Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 

Understanding Contrail Deployment on Windows

 

Starting in release 5.1, Contrail supports overlay network virtualization for Windows Docker containers. Windows server 2016 supports containerization using Docker containers and Contrail components such as vRouter agent and the vRouter kernel module have been ported and qualified to run on Windows Server 2016. A Docker CNM plugin is added to process requests from the Docker daemon when a user creates or removes a network or an endpoint.

Figure 1: Components in a Windows Contrail Deployment
Components in a Windows Contrail Deployment

A Windows Compute node hosts the following components:

  • Contrail Components:

    • Windows vRouter Forwarding Extension

    • Windows vRouter Agent

    • Windows CNM plugin (for Docker)

  • Third-party Components:

    • Host Networking Service (HNS), Host Compute Service (HCS)

    • Microsoft Hyper-V Switch

    • Docker client and docker daemon

The Windows Agent acts the same way as a Linux Agent, communicating with the Control and Analytics nodes. It runs as a Windows service.

The vRouter is implemented as a Forwarding Extension of the Hyper-V switch as a kernel only module. The other components (Docker and HNS, HCS, and Hyper-V) are provided by docker and Microsoft, respectively. Docker runs as a service, while HNS, HCS, and Hyper-V switch are kernel components.

CNM plugin communicates with Controller Config nodes to allocate Contrail resources as needed. It implements CNM API. It communicates with vRouter Agent to associate local port with logical port and HNS.

Figure 2: Windows Compute Node in Contrail Architecture
Windows Compute Node in Contrail Architecture

Only the CNM plugin and vRouter Agent interact with Contrail Controller. The CNM plugin communicates with Config nodes to allocate resources as needed. vRouter Agent acts the same way as the Linux Agent, communicating with the Control and Analytics nodes.

To install Contrail for Windows, you must have Windows Server 2016 and Docker EE 17.06. For more information on deployment, see Deploying Contrail on Windows by Using Ansible Deployer