Hosts (VMs)
Using Hosts in DuploCloud
Once we have the Infrastructure (Networking, Kubernetes cluster, and other common configurations) and an environment (Tenant) set up, the next step is to create VMs. In DuploCloud, you can create the following types of hosts for your workloads:
Host (VM): Standard virtual machines for general-purpose workloads, including application hosting and databases.
VM Scale Set: A group of identical VMs that can automatically scale based on demand, ideal for horizontally scalable applications.
Azure Agent Pool: A set of VMs used in container orchestration environments like Azure Kubernetes Service (AKS).
Availability Set: A collection of VMs spread across fault and update domains to ensure high availability and minimize downtime.
BYOH (Bring Your Own Host): For users with pre-configured VMs or non-Azure infrastructure that they want to bring into DuploCloud. Use BYOH for any VM that is not an Azure Host.
For convenience, you can create a link to the Azure Console from the Action Menu on the Host page to quickly access Azure-specific settings or configurations while managing your Hosts in DuploCloud.
Adding Hosts in DuploCloud
Adding a Host (VM)
Select the appropriate Tenant from the Tenant list box.
Navigate to Cloud Services -> Hosts.
Select the Host tab.
Click Add. The Add Virtual Machine pane displays.

Complete the following fields:
Friendly Name
Enter a descriptive name for the VM in DuploCloud.
Subnet
Select the subnet where the VM will reside.
Instance Type
Select the VM size, e.g., (2 CPU 8GB).
Username
Enter the administrator username for the VM.
Password
Enter the administrator password for the VM.
Public IP
Choose Enable to use a public IP address if you want to communicate with the virtual machine from outside the virtual network.
Optionally, check the Advanced Options box and configure advanced settings:
Computer Name
Enter the computer name (can be the same as the Host Name).
Image Id
Select the VM image (e.g., Linux – Ubuntu20_04).
Fleet
Choose deployment type (e.g., Linux Docker/Native).
Allocation Tag
Enter an allocation tag for tracking or billing purposes.
Disk Controller Type
Select the disk controller type for the VM. The default value set is SCSI. If you want to set NVME, specify the supported Instance Size.
Disk Type
Select the disk type (Standard HDD (Local Redundant)).
Disk Size
Enter the disk size in GB (e.g., 128).
Disk Encryption
Turn disk encryption Off or On.
Join Domain
Select a Domain Type for the Host, if desired.
Join Log Analytics
Select Yes to integrate with Log Analytics.
Timezone
Select the time zone for the Host.
Availability Set
Select an availability set if applicable (or None).
Security Type
Select the security type (e.g., Standard).
Enable Encryption at Host
Select to enable encryption at Host.
Base64 Data
Enter any Base64-encoded data for VM initialization.
Install DuploCloud Native Agent
Check to install the DuploCloud agent on the VM (supports only Linux/Ubuntu).
Click Add.
It is not necessary to explicitly define Hosts. Instead, you can use Azure Agent Pools and VM Scale Sets.
Adding a VM Scale Set
Select the appropriate Tenant from the Tenant list box.
Navigate to Cloud Services → Hosts.
Select the VM Scale Set tab.
Click Add. The Add VM Scale Set pane displays.
In the Name field, provide a unique name for the VM Scale Set.
Select the Subnet from the available options.
Choose the Instance Type for the VMs in the scale set (e.g., 2GB, 4GB, etc.).
Define the Capacity, specifying the desired number of VMs for the scale set.
Select the Image Id for the base image of the VMs (e.g.,
Ubuntu20_04).Choose the Fleet to which the VM Scale Set will belong.
Optionally, enter an Allocation Tag for organizational purposes.
Provide the Username and Password for accessing the VMs in the scale set.
Click Add to create the VM Scale Set.
Adding an Azure Agent Pool
Select the appropriate Tenant from the Tenant list box.
Navigate to Cloud Services → Hosts.
Select the Azure Agent Pool tab.
Click Add. The Add Azure Agent Pool pane displays.

The Add Azure Agent Pool pane In the Name field, enter a unique name for the agent pool.
Choose the Instance Type (e.g., 2GB, 4GB, etc.).
Set the Min Capacity, specifying the minimum number of nodes in the agent pool.
Set the Max Capacity, specifying the maximum number of nodes in the agent pool.
Set the Desired Capacity, specifying the desired number of nodes.
Select the OS for the agent pool (e.g., Linux, Windows). Windows agent pools require that EnableK8sWindowsWorkload is enabled in the infra settings. See the Azure Infrastructure Settings page for instructions.
Choose the OS SKU, (e.g., Ubuntu).
Optionally, enter an Allocation Tag for organizational purposes.
Specify the Availability Zones in which the agent pool nodes should be located.
Choose the Scale Set Priority (e.g., Regular, Spot).
Set the Max Pods Per Node, specifying the maximum number of pods for each node.
Optionally, select Enable Autoscaling to automatically scale the agent pool based on usage.
Click Add to create the Azure Agent Pool.
Adding an Azure Availability Set
For detailed instructions, see the DuploCloud Azure Availability Set documentation.
Adding a BYOH (Bring Your Own Host)
Select the appropriate Tenant from the Tenant list box.
Navigate to Cloud Services → Hosts.
Select the BYOH tab.
Click Add. The Add BYOH pane displays.

The Add BYOH pane In the Friendly Name field, enter a unique name for the Host.
In the Direct Address field, enter the direct IP address of the Host.
In the Fleet Type field, select the appropriate fleet type (e.g., Linux Docker/Native).
In the Username field, enter the username for accessing the Host (optional).
In the Password field, enter the password for the Host (optional).
Optionally, provide a Private Key for SSH access if necessary.
Click Add to create the BYOH Host.
Viewing Hosts (VMs)
To view your Hosts (VMs), navigate to Cloud Services -> Hosts and select the Host tab.

Creating Kubernetes StorageClass and PVC constructs in the DuploCloud Portal.
See Kubernetes StorageClass and PVC.
Host abstraction and isolation
While lower-level details such as IAM roles and security groups are abstracted, deriving instead from the Tenant, only the most application-centric inputs are required to set up Hosts.

Most of these inputs are optional and some are available as list box selections, set by the administrator in the Plan (for example, Image ID, in Host Advanced Options).
There are two additional parameters
Fleet: This is applicable if the VM is to be used as a host for container orchestration by the platform. The choices are:
Linux Docker/Native: To be used for hosting Linux containers using the Built-in Container orchestration.
Docker Windows: To be used for hosting Windows containers using the Built-in Container orchestration.
None: To be used for non-Container Orchestration purposes and contents inside the VM are self-managed by the user.
Allocation Tags (Optional): If the VM is used for containers, you can optionally set a label on the VM. This label is specified during Docker application deployment to ensure that the application containers are pinned to a specific set of nodes, giving you the ability to split a tenant further into separate pools of servers and deploy applications on them.
If a VM is used for container orchestration, ensure that the Image ID corresponds to the Image in the container. Any name that begins with Duplo is an image that DuploCloud generates for Built-in container orchestration
Last updated
Was this helpful?

