---
title: Using an Instance Host with a Services Director VA
slug: ps/help/en_us/sd/25x/ug/using-an-instance-host-with-a-services-director-va
docTags: 
createdAt: 2026-08-02T06:44:34.358Z
---

## Introduction

:::Paragraph{indent="1"}
This section describes how to deploy Traffic Managers to an instance host from a Services Director VA.
:::

:::hint{type="info"}
Other form-factor configurations are supported:
:::

- To deploy Traffic Managers to an instance host from a software form-factor Services Director, see [Using an Instance Host with a Software Services Director](docId\:ZtSPK0hvmshSXhbQ479h9).
- To register externally-deployed Traffic Managers, see [Registering Externally-Deployed Traffic Managers](docId:5-aVhnKlp4cm1_es3UBHJ).

:::Paragraph{indent="1"}
See also [Services Director Form-Factors](docId\:uo4393nOpiA0NSRkvDVp8) and [Working with an Instance Host](docId\:uo4393nOpiA0NSRkvDVp8).
:::

## Overview: Using an Instance Host with a Services Director VA

:::Paragraph{indent="1"}
This section describes how to deploy Traffic Manager instances from a system that combines a Services Director VA with an instance host.
:::

:::hint{type="info"}
The following Services Director VA functions are known to have issues when using an instance host, see [Deploying a vTM Instance](docId\:s3tez8yvcAKjwlTrrkNcY):
:::

- Deploying Traffic Managers. You must deploy from the REST API.
- Editing properties of deployed instances. Only container properties can be edited through the GUI. For all other properties, you must use the CLI or REST API.
- Th&#x65;**&#x20;vTM Instance Host** page displays warning information about instance host limitations.

:::Paragraph{indent="1"}
An instance host is an Ubuntu or RedHat / CentOS machine (virtual or physical) that is configured specifically for the purpose of allowing Services Director to deploy instances to it. Please see the release notes for details of currently supported versions. In this guide we have assumed the use of Ubuntu 14.04.
:::

:::hint{type="info"}
If you want an instance host that will support interaction with a software form-factor Services Director, see [Using an Instance Host with a Software Services Director](docId\:ZtSPK0hvmshSXhbQ479h9).
:::

:::Paragraph{indent="1"}
This section assumes that you have already installed and configured your Services Director VA.
:::

:::Paragraph{indent="1"}
To create an instance host, the required steps are:
:::

1. Create an Ubuntu 14.04 machine and its network interfaces, see [Creating the Instance Host](docId\:s3tez8yvcAKjwlTrrkNcY).

:::hint{type="info"}
Ensure that an SSH Server is present on the Ubuntu 14.04 machine.
:::

2. On the Ubuntu 14.04 machine, set up the required directory structures on the Ubuntu 14.04 machine, see [Preparing the Directory Structure](docId\:s3tez8yvcAKjwlTrrkNcY).
3. Set up local networking (interfaces/NICs and bridges) on the Ubuntu 14.04 machine, see [Configuring the Local Network](docId\:s3tez8yvcAKjwlTrrkNcY). Exact details will depend on your networking requirements (see example below).
4. On the Ubuntu 14.04 machine, set up an LXC configuration file for each required LXC container, see [Creating an LXC Container Configuration File](docId\:s3tez8yvcAKjwlTrrkNcY).
5. Establish SSH communications between the Services Director VA and the Ubuntu 14.04 machine, see [Configuring Passwordless SSH](docId\:s3tez8yvcAKjwlTrrkNcY).
6. Create any required resources (feature packs and legacy FLA if required) on the Services Director VA, see [Creating Required Resources](docId\:s3tez8yvcAKjwlTrrkNcY).
7. Create any required version resources on the Services Director VA by the upload of any required Virtual Traffic Manager (vTM) images, see [Uploading a Traffic Manager Image](docId\:s3tez8yvcAKjwlTrrkNcY).
8. Register the instance host on the Services Director VA, see [Adding the Instance Host to the Services Director VA](docId\:s3tez8yvcAKjwlTrrkNcY).

:::Paragraph{indent="1"}
For example:
:::

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/A1M469WugErp3Q-2J-uOq_vaihstart603x330.png" position="flex-start" size="60" width="603" height="330" initialPath="../images/va_ih_start_603x330.png" githubPath="HTML5/images/va_ih_start_603x330.png" showCaption="false" indent="1"}

:::Paragraph{indent="1"}
Once these steps are complete the instance host is ready.
:::

:::Paragraph{indent="1"}
To create a vTM on the instance host, request the deployment from the Services Director REST API, see [Deploying a vTM Instance](docId\:s3tez8yvcAKjwlTrrkNcY). The following events then occur automatically:
:::

- The Services Director VA contacts the instance host using SSH to request that LXC deploys a vTM on the instance host.
- The Services Director VA transfers the required vTM image file to the instance host.
- On the instance host, LXC retrieves the required LXC configuration file based on the information passed from the Services Director VA.
- On the instance host, LXC uses the LXC configuration file to create an LXC container.
- The instance host uses the required vTM image to deploy a vTM to the LXC container, and then configures its interfaces.
- The new vTM is added to the list of vTMs that are in the estate of the Services Director VA.

:::Paragraph{indent="1"}
Once these events are complete, the first vTM is ready for use.
:::

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/3zTfggnnxKP0tAWhImyKY_vaihfirstvtm564x436.png" position="flex-start" size="56" width="564" height="436" initialPath="../images/va_ih_first_vtm_564x436.png" githubPath="HTML5/images/va_ih_first_vtm_564x436.png" showCaption="false" indent="1"}

:::Paragraph{indent="1"}
You can repeat this process to deploy a second (and subsequent) vTMs onto the same instance host. This is broadly similar to the first vTM. Please note that:
:::

- This requires a different LXC configuration file.
- A second container configuration file must already exist or be created. You cannot deploy a second vTM to the same container as the first vTM.
- A vTM image file is only transferred to the instance host if the vTM image file is not already cached there.
- All other events are the same as for the first vTM.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/XkYQlAxZtX4Q1JVQWxhhX_vaihsecondvtm564x437.png" position="flex-start" size="56" width="564" height="437" initialPath="../images/va_ih_second_vtm_564x437.png" githubPath="HTML5/images/va_ih_second_vtm_564x437.png" showCaption="false" indent="1"}

## Creating and Configuring an Instance Host

:::Paragraph{indent="1"}
You can use an instance host (either virtual or physical) with both the software form-factor Services Director and the Services Director VA.
:::

### Creating the Instance Host

:::Paragraph{indent="1"}
To create an instance host, you must first create an Ubuntu 14.04 machine. During this process, you will need:
:::

- The IP address and hostname that is required for the instance host.
- The IP address for the management interface (eth0).
- Optionally, an IP address for each of the required network interfaces (eth1, eth2, and so on).
- Optionally, the IP address(es) of the DNS name server(s).

:::Paragraph{indent="1"}
Perform the following steps:
:::

1. Create a machine to contain the Ubuntu 14.04 operating system. This machine can be either virtual or physical.

:::Paragraph{indent="2"}
The machine's management network interface must be accessible from the Services Director
:::

2. Install the Ubuntu 14.04 operating system using the standard set-up software.
3. Ensure that the Ubuntu 14.04 machine has SSH server installed and running.
4. Install LXC and bridge utilities on the Ubuntu 14.04 machine to enable container deployment:

:::Paragraph{indent="2"}
apt-get install lxc bridge-utils
:::

### Preparing the Directory Structure

:::Paragraph{indent="1"}
You must prepare the Ubuntu 14.04 instance host directory structure to receive the required Traffic Manager files. These are required when you register the instance host on the Services Director.
:::

1. On the instance host, create a directory to place files for use. For example, for Traffic Manager image files and license files. For example:

```bash
/var/cache/ssc
```

2. Then, create a parent directory for all deployed Traffic Managers. For example:

```bash
/root/install
```

3. Check that suitable permissions are set for both of the new directories (from steps 1 and 2).

:::Paragraph{indent="2"}
Services Director assumes that all required directories on the instance host have read/write/execute permissions for the root user / group. Check this on the instance host:
:::

```bash
$ stat --format=%a <directory>
```

:::Paragraph{indent="2"}
And set if required by using:
:::

```bash
$ chmod 770 <directory>
```

### Configuring the Local Network

:::Paragraph{indent="1"}
Configure a virtual network on the instance host for the Traffic Manager instance. Typically, this configuration requires setting up a virtual bridge (using, for example, Linux bridge or Open vSwitch), then configuring the Linux container to attach to the bridge when running Traffic Manager.
:::

:::hint{type="info"}
You must disable the default bridge configured by LXC. This is unsuitable for Services Director operations.
:::

1. On the instance host, edit the /etc/network/interfaces file and configure the network interfaces and bridges as required. For example:

```bash
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address XX.XX.XX.XX
netmask YY.YY.YY.YY
network ZZ.ZZ.ZZ.ZZ
broadcast AA.AA.AA.AA
gateway BB.BB.BB.BB
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers DD.DD.DD.DD
dns-search cam.demo.com
# The primary bridge
auto br0
iface br0 inet static
bridge_ports eth1
bridge_fd 0
address EE.EE.EE.EE
netmask FF.FF.FF.FF
network GG.GG.GG.GG
# The secondary network interface
auto eth1
iface eth1 inet static
address 0.0.0.0
```

:::Paragraph{indent="2"}
In this example, there is a Linux bridge setup to which LXC containers can attach virtual network interfaces.
:::

2. You must now disable the LXC default bridge. Edit the /etc/default/lxc-net file and set the following:

```bash
USE_LXC_BRIDGE="false"
```

:::Paragraph{indent="2"}
Also comment out any other lines that contain 'LXC\_\*='.
:::

3. You must now turn off strict return path filtering. Edit the /etc/sysctl.conf file:

```bash
net.ipv4.conf.default.rp_filter=2
net.ipv4.conf.all.rp_filter=2
```

4. Either reboot, or restart the networking services. This ensures that the networking configuration is correct and the default LXC bridge is removed.

### Creating an LXC Container Configuration File

:::Paragraph{indent="1"}
Traffic Manager instances can cohabit on an instance host using LXC containers.
:::

:::Paragraph{indent="1"}
LXC containers support network isolation and a degree of resource isolation. The software form-factor Services Director expects prepared container configuration files in advance of instance deployment. You must put these files in the installation root directory of the instance host.
:::

:::Paragraph{indent="1"}
Before you create an LXC container for a Traffic Manager, you must create an LXC configuration file. This file describes the properties for the container.
:::

1. On the instance host, create an LXC configuration text file.

:::Paragraph{indent="2"}
This must be located in the parent directory for installations (see [Preparing the Directory Structure](docId\:s3tez8yvcAKjwlTrrkNcY)). For example, in the /root/install directory.
:::

:::Paragraph{indent="2"}
The container configuration file must include networking entries for your Traffic Manager instance IP address. You can use either Linux virtual networking or Open vSwitch to set up network isolation for your Traffic Manager instance.
:::

:::Paragraph{indent="2"}
The filename of the container configuration file must match the FQDN or IP address of the required container. That is: \<container-fqdn-or-ip>.conf.
:::

:::hint{type="info"}
This filename must be specified as the container\_name property when you deploy the instance.
:::

:::hint{type="info"}
For Instance resources that are not able to use the Universal FLA License, \<container-fqdn-or-ip>.conf must match the value of the lxc.utsname used in the file, and the management\_address specified in the REST request.
:::

2. Create contents for the LXC container configuration file. For example:

```bash
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.ipv4 = XX.XX.XX.XX/SS
lxc.network.ipv4.gateway = YY.YY.YY.YY
lxc.utsname = vtm-mgmt.example.com
```

:::Paragraph{indent="2"}
In this example:
:::

:::Paragraph{listStyleType="disc" indent="2"}
XX.XX.XX.XX/SS is the IP address and subnet mask of the LXC container network.
:::

:::Paragraph{listStyleType="disc" indent="2"}
YY.YY.YY.YY is the IP address of the subnetwork gateway inside the LXC container.
:::

:::Paragraph{listStyleType="disc" indent="2"}
If the Legacy FLA License is in use for this instance, the filename of the container configuration file must be vtm-mgmt.example.com.conf.
:::

## Creating Required Resources

:::Paragraph{indent="1"}
You must create the following resources using the Services Director VA.
:::

- Feature Packs, see [Creating a Feature Pack Resource](docId\:s3tez8yvcAKjwlTrrkNcY).
- Legacy FLA licenses (where required), see [Creating a Legacy FLA Resource](docId\:s3tez8yvcAKjwlTrrkNcY).
- vTM Clusters, see [Creating a vTM Cluster](docId\:s3tez8yvcAKjwlTrrkNcY).

:::hint{type="info"}
A Version resource is also required, but that is created when you upload a Traffic Manager image to the Services Director VA, see [Uploading a Traffic Manager Image](docId\:s3tez8yvcAKjwlTrrkNcY).
:::

### Creating a Feature Pack Resource

:::Paragraph{indent="1"}
Before you register a Traffic Manager, you must define a Feature Pack for the Traffic Manager.
:::

:::Paragraph{indent="1"}
When you install a primary Services Director VA, you provide a software license. This license is based on a single Stock-Keeping Unit (SKU).
:::

:::Paragraph{indent="1"}
Your choice of SKU determines whether you are a Cloud Service Provider (CSP) or Enterprise customer. It also defines the features that are available on your Services Director VA.
:::

:::Paragraph{indent="1"}
A SKU is used when you create a Feature Pack. Each Feature Pack is a subset (or total set) of the available features in a SKU.
:::

:::Paragraph{indent="1"}
To create a Feature Pack, you must select your SKU (historical SKUs that are still supported are also listed) and then identify any features from your SKU that are excluded in your Feature Pack. All other features supported by your SKU are included in the Feature Pack.
:::

:::Paragraph{indent="1"}
When you register a Traffic Manager, you select a single Feature Pack.
:::

:::Paragraph{indent="1"}
A default Feature Pack (typically a SKU with no exclusions) is created automatically when you install the Services Director VA.
:::

1. Access your Services Director VA from a browser, using its Service Endpoint IP Address.
2. Log in as the administration user. Th&#x65;**&#x20;Home** page appears.
3. Click th&#x65;**&#x20;Catalogs** menu, and then clic&#x6B;**&#x20;SKUS and Feature Packs**.

:::Paragraph{indent="2"}
Th&#x65;**&#x20;SKUS and Feature Packs** page appears.
:::

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/HP3sB7qLh-qTbtwBPSEmk_fpsskus598x318.png" position="flex-start" size="60" width="598" height="318" initialPath="../images/fps_skus_598x318.png" githubPath="HTML5/images/fps_skus_598x318.png" showCaption="false" indent="2"}

4. In the table of SKUs, locate the SKU from which you wish to create a Feature Pack.
5. Expand this SKU to view its supported features. For example, the STM-400 SKU:

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/Sv7fgDah_ECjupgNO5ySI_fpsskusexpanded568x260.png" position="flex-start" size="57" width="568" height="260" initialPath="../images/fps_skus_expanded_568x260.png" githubPath="HTML5/images/fps_skus_expanded_568x260.png" showCaption="false" indent="1"}

6. Locate the function(s) that you wish to exclude, and make a note of the feature name. For example, the Lbrnd (Random Load Balancing) feature. That is, this Feature Pack will not support the Random load balancing feature. Other load balancing features, such as Round Robin, will still be supported.
7. Collapse the SKU in the table.
8. Click th&#x65;**&#x20;Add** button.

:::Paragraph{indent="2"}
The **Add Feature Pack** dialog appears.
:::

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/oOuS9vsDiUGJhxGLXRfIi_fpsskusaddfpstart214x278.png" position="flex-start" size="21" width="214" height="278" initialPath="../images/fps_skus_add_fp_start_214x278.png" githubPath="HTML5/images/fps_skus_add_fp_start_214x278.png" showCaption="false" indent="2"}

9. Enter &#x61;**&#x20;Feature Pack Name**.

:::Paragraph{indent="2"}
This name will appear in the table of Feature Packs.
:::

10. Select the required feature tier from your SKU.
11. Enter a space-separated list of excluded features.
12. Select any required add-on SKUs.
13. Enter a description for the Feature pack a&#x73;**&#x20;Info**.

:::Paragraph{indent="2"}
This description will appear in the table of Feature Packs.
:::

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/T2WeBmM9Pd0mjmV7DvjXD_fpsskusaddfpnew214x278.png" position="flex-start" size="21" width="214" height="278" initialPath="../images/fps_skus_add_fp_new_214x278.png" githubPath="HTML5/images/fps_skus_add_fp_new_214x278.png" showCaption="false" indent="2"}

14. Clic&#x6B;**&#x20;Add**. The new Feature Pack is added to the table of Feature Packs.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/JPDhIpLv4aSSzrqBtC1Mu_fpsskusadded611x108.png" position="flex-start" size="61" width="611" height="108" initialPath="../images/fps_skus_added_611x108.png" githubPath="HTML5/images/fps_skus_added_611x108.png" showCaption="false" indent="1"}

15. Expand the Feature Pack to view its full details.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/n0kN3dRFyrLMa32t3ubZn_fpsskusexpanded2604x252.png" position="flex-start" size="60" width="604" height="252" initialPath="../images/fps_skus_expanded2_604x252.png" githubPath="HTML5/images/fps_skus_expanded2_604x252.png" showCaption="false" indent="1"}

16. Repeat this process to create all required Feature Packs.

:::Paragraph{indent="2"}
Once you have created all required Feature Packs, you can use these to register and deploy Traffic Managers.
:::

### Creating a Legacy FLA Resource

:::Paragraph{indent="1"}
The Services Director comes with a pre-installed Universal FLA License. This is suitable for any Traffic Manager at version 10.1 with an active REST API. In all other cases, a Legacy FLA License is required. That is:
:::

- The Traffic Manager version is 10.0 or earlier.
- The Traffic Manager (any version) has its REST API disabled.

:::Paragraph{indent="1"}
You can install a Legacy FLA License using the Services Director VA, after which you can install either of these Traffic Manager types.
:::

1. Access your Services Director VA from a browser, using its Service Endpoint IP Address.
2. Log in as the administration user. Th&#x65;**&#x20;Home** page appears.
3. Click th&#x65;**&#x20;Catalogs** menu, and then clic&#x6B;**&#x20;Licensing: FLA Licenses**. Th&#x65;**&#x20;Flexible Licenses** page appears.

:::Paragraph{indent="2"}
When the Services Director is first installed, only the pre-installed Universal FLA License is shown on this page; no Legacy FLA Licenses are present.
:::

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/q3DvB0UDzoLUfmSnEjlyk_flalicensesempty650x278.png" position="flex-start" size="65" width="650" height="278" initialPath="../images/fla_licenses_empty_650x278.png" githubPath="HTML5/images/fla_licenses_empty_650x278.png" showCaption="false" indent="2"}

4. Click th&#x65;**&#x20;Add License** plus symbol.

:::Paragraph{indent="2"}
The **Add FLA License** dialog appears.
:::

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/DkDiDZJFmuO9_XVGEticZ_wizaddlicense408x248.png" position="flex-start" size="41" width="408" height="248" initialPath="../images/wiz_add_license_408x248.png" githubPath="HTML5/images/wiz_add_license_408x248.png" showCaption="false" indent="2"}

5. Either:
   - Paste the text of the Legacy FLA License into the text box, OR
   - Clic&#x6B;**&#x20;Populate from File**, select the file and then clic&#x6B;**&#x20;Upload**. This will populate the text box.

:::Paragraph{indent="2"}
The remainder of the fields in the dialog will then update to provide license information:
:::

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/DwhRbElsICKWzt20Cwoqf_wizaddlicenseupdated413x250.png" position="flex-start" size="41" width="413" height="250" initialPath="../images/wiz_add_license_updated_413x250.png" githubPath="HTML5/images/wiz_add_license_updated_413x250.png" showCaption="false" indent="2"}

6. Clic&#x6B;**&#x20;Add**. A relicensing dialog appears.
7. Clic&#x6B;**&#x20;Later**.

:::Paragraph{indent="2"}
The new license is added to th&#x65;**&#x20;FLA Licenses** page.
:::

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/P0UMj33ltZxFOqaHZFQxg_flalicenseslegacyadded620x282.png" position="flex-start" size="62" width="620" height="282" initialPath="../images/fla_licenses_legacy_added_620x282.png" githubPath="HTML5/images/fla_licenses_legacy_added_620x282.png" showCaption="false" indent="2"}

8. Repeat this procedure if you require additional licenses.
9. Both Legacy FLA Licenses and Universal FLA Licenses have a default FLA. If you have more than one FLA license for either type, and want to make it the default license for that type, clic&#x6B;**&#x20;Make Default**.

### Creating a vTM Cluster

:::Paragraph{indent="1"}
There are two types of clusters used by the Services Director VA:
:::

- Discovered - this is a cluster present on one or more externally-deployed Traffic Managers. When an externally-deployed Traffic Manager is registered, a cluster name is displayed automatically. See the Services Director Getting Started Guide for details.

:::Paragraph{indent="2"}
This cluster type cannot be used by Traffic Managers that you deploy from the Services Director VA.
:::

:::hint{type="info"}
You cannot create a Discovered cluster from th&#x65;**&#x20;vTM Clusters** page.
:::

:::hint{type="info"}
Services Director’s awareness of Discovered clusters is limited to Traffic Managers at version 10.2 or above with an enabled REST API.
:::

- User Created - this is a cluster that you create manually on th&#x65;**&#x20;vTM Clusters** page, see [Creating a vTM Cluster for Deployed vTM Instances](docId\:s3tez8yvcAKjwlTrrkNcY). This cluster type can only be used for Traffic Managers that you deploy from the Services Director VA.

:::hint{type="info"}
You must select a cluster when you deploy a Traffic Manager if you want to use cluster-level backup and restore. See the Services Director Getting Started Guide for full details.
:::

:::Paragraph{indent="1"}
Services Director supports backup and restore for cluster configurations.
:::

### Viewing vTM Clusters

:::Paragraph{indent="1"}
Th&#x65;**&#x20;vTM Cluster** page displays a list of all clusters known to the Services Director VA.
:::

:::Paragraph{indent="1"}
Th&#x65;**&#x20;vTM Cluster** page also enables you to assign a backup schedule to each cluster, and to inspect the details of the cluster backups taken. See the Services Director Getting Started Guide.
:::

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/WGOgMDalpHAHtMr4It0nw_clusterinitial662x158.png" position="flex-start" size="66" width="662" height="158" initialPath="../images/cluster_initial_662x158.png" githubPath="HTML5/images/cluster_initial_662x158.png" showCaption="false" indent="1"}

### Creating a vTM Cluster for Deployed vTM Instances

1. Start your Services Director VA from a browser, accessing it using its Service Endpoint IP Address.
2. Log in as the administration user. Th&#x65;**&#x20;Home** page appears.
3. Click th&#x65;**&#x20;Services** menu, and then clic&#x6B;**&#x20;Services Director: vTM Clusters**. Th&#x65;**&#x20;vTM Clusters** page appears.
4. Click th&#x65;**&#x20;Add** button above the cluster table. The **Add vTM Cluster** dialog appears.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/tulp7s1boUE3JSII_Ftry_clusterwiz1full291x208.png" position="flex-start" size="29" width="291" height="208" initialPath="../images/cluster_wiz1_full_291x208.png" githubPath="HTML5/images/cluster_wiz1_full_291x208.png" showCaption="false" indent="1"}

5. Provide a vT&#x4D;**&#x20;Cluster Name**. This will be available as th&#x65;**&#x20;vTM Cluster ID** when you deploy a Traffic Manager. This name must be unique within the current subnet.
6. Enter a&#x6E;**&#x20;Owner**.
7. (Optional) Specify an **Analytics Profile** for the cluster. See the Services Director Getting Started Guide for full details.
8. (Optional) Specify &#x61;**&#x20;Backup Schedule**. See the Services Director Getting Started Guide for full details.
9. Clic&#x6B;**&#x20;Add**. The new User Created cluster is added.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/jbv-GjtgT_oOaSsSoF47f_clusterfirst632x90.png" position="flex-start" size="63" width="632" height="90" initialPath="../images/cluster_first_632x90.png" githubPath="HTML5/images/cluster_first_632x90.png" showCaption="false" indent="1"}

10. Repeat for any other required vTM clusters.

:::Paragraph{indent="2"}
All User Created clusters are available for use as th&#x65;**&#x20;vTM Cluster ID** when you deploy a Traffic Manager. See [Deploying a vTM Instance using the Services Director VA GUI](docId\:s3tez8yvcAKjwlTrrkNcY).
:::

## Uploading a Traffic Manager Image

:::Paragraph{indent="1"}
Before you can deploy a Traffic Manager, you must upload the required Traffic Manager image onto the Services Director VA. During this process, you also specify the required version resource for the image.
:::

:::hint{type="info"}
The Traffic Manager image files are not replicated automatically between the Services Director nodes. You must manually transfer the files into both nodes.
:::

1. Access your Services Director VA from a browser, using its Service Endpoint IP Address.
2. Log in as the administration user. Th&#x65;**&#x20;Home** page appears.
3. Access th&#x65;**&#x20;vTM Images** page from the menus usin&#x67;**&#x20;System > Deployment > vTM Images**.
4. Click the plus symbol above the table of images. The **Add Traffic Manager Version&#x20;**&#x64;ialog appears.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/rvI597b3W11IsC_jdvEcu_imageuploadstart260x279.png" position="flex-start" size="26" width="260" height="279" initialPath="../images/image_upload_start_260x279.png" githubPath="HTML5/images/image_upload_start_260x279.png" showCaption="false" indent="1"}

5. Clic&#x6B;**&#x20;From file** and the&#x6E;**&#x20;Choose File**. Then, select the required local Traffic Manager image file. This is in TGZ format.
6. Specify the require&#x64;**&#x20;Version Name**. Typically, this is the version number, for example 11.0.
7. Optionally, complete the Info property.
8. Clic&#x6B;**&#x20;Apply**.

:::Paragraph{indent="2"}
The image file is uploaded to the Services Director VA. When complete, it is displayed in th&#x65;**&#x20;vTM Images** page. This may take several minutes.
:::

## Configuring Passwordless SSH

:::Paragraph{indent="1"}
The Services Director VA uses passwordless SSH to communicate with any instance hosts. Passwordless SSH enables the Services Director VA to copy files and remotely run commands to deploy, start, stop, upgrade, and delete Traffic Manager instances.
:::

:::Paragraph{indent="1"}
Each Services Director VA in an HA pair has its own unique SSH authentication key pair. When you add a new instance host to the Services Director VA, you must set up passwordless SSH between each Services Director VA and the new instance host.
:::

:::Paragraph{indent="1"}
The following is a general procedure for configuring the establishing passwordless SSH between the Services Director VA and an instance host.
:::

1. Once your VA is configured, licensed, and running, SSH into the VA as admin, and generate the SSH key pair that will be used for passwordless SSH access to the instance host:

```bash
> enable
# configure terminal
# ssh client generate identity user root
# show ssh client private
```

2. Copy the listed public key and paste it into the /root/.ssh/authorized\_keys file on the instance host.
3. Test the password-less connection from the Services Director VA:

```bash
ssh slogin root@<instance host>
```

## Adding the Instance Host to the Services Director VA

:::Paragraph{indent="1"}
Perform the following procedure to add the instance host to the Services Director VA.
:::

1. Log into the Services Director VA.
2. Access th&#x65;**&#x20;vTM Instance Hosts** page from the menus usin&#x67;**&#x20;System > Deployment > vTM Instance Hosts**.
3. Click the plus sign above the table of instance hosts. Th&#x65;**&#x20;Add vTM Instance Host** dialog appears.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/Jvl0aVd3UG3E2061QoDWT_custominstancehostadd218x177.png" position="flex-start" size="22" width="218" height="177" initialPath="../images/custom_instance_host_add_218x177.png" githubPath="HTML5/images/custom_instance_host_add_218x177.png" showCaption="false" indent="1"}

4. On the **Add vTM Instance Host** dialog, specify the **Instance Host Name**. This is either a hostname or an IP address.
5. Specify the administrative **Username** for the instance host.
6. (Optional) Specify **Info&#x20;**&#x74;o provide a description for the instance host.
7. Clic&#x6B;**&#x20;Add** to add the instance host. The instance host is added to th&#x65;**&#x20;vTM Instance Hosts** page
8. To test the registered Host, make a REST request to:

```bash
https://<Services Director>:8100/api/tmcm/2.9/host/<hostname>?status_check=true
```

:::Paragraph{indent="2"}
The response will include a status\_check property that will be an empty object if the Host is correctly configured for deployments.
:::

:::Paragraph{indent="2"}
If not, status\_check will have a further **setup\_errors** property describing the problems found with the Host.
:::

## Deploying a vTM Instance

:::Paragraph{indent="1"}
Once you have registered an instance host on the Services Director VA, you can deploy vTM instances on the instance host.
:::

:::Paragraph{indent="1"}
The default method for deploying a vTM instance to an instance host is by using the Services Director VA GUI, see [Deploying a vTM Instance using the Services Director VA GUI](docId\:s3tez8yvcAKjwlTrrkNcY).
:::

:::Paragraph{indent="1"}
However, you can use the REST API to do this if required, see [Deploying a vTM Instance Using the REST API](docId\:s3tez8yvcAKjwlTrrkNcY).
:::

### Deploying a vTM Instance using the Services Director VA GUI

:::Paragraph{indent="1"}
To deploy a vTM instance on a registered instance host, perform the following procedure:
:::

1. Before starting the VA GUI, create a container configuration file on the instance host(?). This must be in the/root/install directory, with filename:

```bash
<container-fqdn-or-ip>.conf.
```

:::Paragraph{indent="2"}
The \<container-fqdn-or-ip> element of the filename must be used as the **Container Name** property of the Instance resource in a later step.
:::

:::hint{type="info"}
For vTM instances that will not be able to use the Universal FLA License, the hostname/IP part of the container configuration filename must match the value of the lxc.utsname property in the file and the **Management Address** of the Instance resource.
:::

2. Create the contents of the container configuration file. For example:

```bash
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.ipv4 = XX.XX.XX.XX/XX
lxc.network.ipv4.gateway = YY.YY.YY.YY
lxc.utsname = djones-04.cam.demo.com
```

3. Access your Services Director VA from a browser, using its Service Endpoint IP Address.
4. Log in as the administration user. Th&#x65;**&#x20;Home** page appears.
5. Click th&#x65;**&#x20;Services** menu, and then clic&#x6B;**&#x20;Services Controller: vTM Instances**. Th&#x65;**&#x20;vTM Instances** page appears.
6. Click the plus symbol above the table. The **Add a vTM instance** dialog box appears:

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/yij7deYQFW-S5IPNIANeH_regwizstart320x178.png" position="flex-start" size="32" width="320" height="178" initialPath="../images/reg_wiz_start_320x178.png" githubPath="HTML5/images/reg_wiz_start_320x178.png" showCaption="false" indent="1"}

7. Clic&#x6B;**&#x20;Deploy an instance to a container**, and then clic&#x6B;**&#x20;Next**.

:::Paragraph{indent="2"}
The **Add Managed vTM Instance** dialog appears.
:::

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/XdloEYj-KUsKVZPJYwvIV_deployvtminstancestart569x300.png" position="flex-start" size="57" width="569" height="300" initialPath="../images/deploy_vtm_instance_start_569x300.png" githubPath="HTML5/images/deploy_vtm_instance_start_569x300.png" showCaption="false" indent="2"}

8. Select an instance host from the **Instance Host Name** list.
9. Specify an **Instance Name** for the new instance.
10. Specify a **Bandwidth** for the vTM instance.
11. (Optional) Specify the **CPU Usage** for the vTM instance.
12. Select an **Owner** for the vTM instance.
13. Select an **License Name** for the vTM instance.
14. Select an **Feature Pack** for the vTM instance.
15. Select an **vTM Version** for the vTM instance.
16. (Optional) In the **Advanced Options:**
    - Select a **vTM Cluster ID** if required. This must be a User Created vTM Cluster, which are visible on the **vTM Clusters** page, see [Viewing vTM Clusters](docId\:s3tez8yvcAKjwlTrrkNcY).
    - Select **Extra Options** as required. These are described under the config\_options property in [Properties for a Deployed Instance](docId\:ZtSPK0hvmshSXhbQ479h9).
    - Select **Skip FLA Check** if required, see [Checking the Health of an FLA License Automatically](docId:4siB9RsaZiINRYO_0NaaZ).
17. Specify a **Container Name** for the new instance. This must be the \<container-fqdn-or-ip> element of the configuration file name from step 1.
18. Specify the **Management Address** for the new instance.
19. Click **Add**.

:::hint{type="info"}
It may take a long time to perform the first deployment, as the vTM image needs to be copied to the instance host, extracted from its TAR file, and installed.
:::

:::Paragraph{indent="2"}
Once complete, the instance appears in the **vTM Instances** page of the VA GUI.
:::

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/uneBM0wkKzx9G_76_MTnz_custominstancehostdeploy649x275.png" position="flex-start" size="65" width="649" height="275" initialPath="../images/custom_instance_host_deploy_649x275.png" githubPath="HTML5/images/custom_instance_host_deploy_649x275.png" showCaption="false" indent="2"}

:::Paragraph{indent="2"}
Th&#x65;**&#x20;Instance Type** is correctly described as Container, but the container properties may be undefined.
:::

:::Paragraph{indent="2"}
The Instanc&#x65;**&#x20;Lifecycle**,**&#x20;Instance Health** an&#x64;**&#x20;Licensing Health** columns on the **vTM Instances** page will operate as expected. Similarly, monitoring and metering function correctly with vTM instances that are deployed on instance hosts.
:::

:::Paragraph{indent="2"}
Th&#x65;**&#x20;Extra Options** property is for optional advanced configuration options. These are described under the config\_options property in [Properties for a Deployed Instance](docId\:ZtSPK0hvmshSXhbQ479h9).
:::

:::hint{type="info"}
Any attempt to perform non-container updates will throw the error 'Failed to update Instance (Unknown container flavor ())'. Instead, use the REST API or CLI for any required property updates.
:::

:::hint{type="info"}
Any attempt to perform container property updates through the CLI will fail.
:::

### Deploying a vTM Instance Using the REST API

:::Paragraph{indent="1"}
The default method for deploying a vTM instance to an instance host is by using the Services Director VA GUI, see [Deploying a vTM Instance using the Services Director VA GUI](docId\:s3tez8yvcAKjwlTrrkNcY).
:::

:::Paragraph{indent="1"}
However, you can use the REST API to do this if required.
:::

:::hint{type="info"}
You cannot use the VA CLI to deploy a containerised vTM instance to an instance host.
:::

:::hint{type="info"}
Non-containerised Instances that are deployed via the REST API will show as having an Instance Type of 'Externally Deployed' in the Services Director UI.
:::

:::Paragraph{indent="1"}
The following worked example uses the two-NIC example host configuration from above, to deploy a simple containerised Instance:
:::

1. Create a container configuration file, in the/root/install directory, with filename:

```bash
<container-fqdn-or-ip>.conf.
```

:::Paragraph{indent="2"}
This filename must be the value specified for the container\_name property of the Instance resource. For Instance resources that will not be able to use the Universal FLA License, the hostname/IP part of the container configuration filename must match the value of the lxc.utsname used in the file and the management\_address specified in the REST request (see the example below).
:::

2. Create contents for the container configuration file. For example:

```bash
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.ipv4 = XX.XX.XX.XX/XX
lxc.network.ipv4.gateway = YY.YY.YY.YY
lxc.utsname = djones-04.cam.demo.com
```

3. Use an HTTP client (for example, POSTMAN) to PUT the Instance resource:

```bash
$ curl -k -u admin:password https://djones-02.cam.demo.com:8100/api/tmcm/2.9/instance/r04-conf -X PUT -H "Content-type: application/json"
-d '{"management_address": "djones-06.cam.demo.com", "container_name": "djones-04.cam.demo.com", "owner": "me", "bandwidth": 100,
"stm_feature_pack": "STM-400_full", "stm_version": "17.1", "host_name": "djones-06.cam.demo.com", "cpu_usage": "0"}'
```

:::hint{type="info"}
It may take a long time to perform the first deployment, as the vTM Image needs to be copied to the Host, un-tarred, and installed.
:::

:::Paragraph{indent="2"}
Once complete, the instance appears in the vTM Instances page of the VA GUI.
:::

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/y54mV4uJngjqCp3mG1C59_custominstancehostdeploy2649x275.png" position="flex-start" size="65" width="649" height="275" initialPath="../images/custom_instance_host_deploy2_649x275.png" githubPath="HTML5/images/custom_instance_host_deploy2_649x275.png" showCaption="false" indent="2"}

:::Paragraph{indent="2"}
Th&#x65;**&#x20;Instance Type** is correctly described as Container, but the container properties may be undefined.
:::

:::Paragraph{indent="2"}
The Instanc&#x65;**&#x20;Lifecycle**,**&#x20;Instance Health** an&#x64;**&#x20;Licensing Health** columns on the **vTM Instances** page will operate as expected. Similarly, monitoring and metering function correctly with vTM instances that are deployed on instance hosts.
:::

:::Paragraph{indent="2"}
Th&#x65;**&#x20;Extra Options** property is for optional advanced configuration options. These are described under the config\_options property in [Properties for a Deployed Instance](docId\:ZtSPK0hvmshSXhbQ479h9).
:::

:::hint{type="info"}
Any attempt to perform non-container updates will throw the error 'Failed to update Instance (Unknown container flavor ())'. Instead, use the REST API or CLI for any required property updates.
:::

:::hint{type="info"}
Any attempt to perform container property updates through the CLI will fail.
:::
