Adding Hosts

Add a Host (VM) in the DuploCloud Portal.

In DuploCloud, a Host represents a virtual machine (VM) that runs your workloads in the cloud. DuploCloud supports multiple Host types on AWS, including:

  • Individual EC2 instances

  • Auto Scaling Groups (ASGs) for scalable clusters

  • Bring Your Own Host (BYOH) for integrating existing or non-standard VMs

Use BYOH for any Host that is neither EC2 nor ASG.

Adding a Host (VM)

Adding an EC2 Host

  1. Select the appropriate Tenant from the Tenant list box.

  2. Navigate to Cloud Services -> Hosts.

  3. Select the EC2 tab.

  4. Click Add. The Add Host page displays.

    Add Host page
  5. Complete the required fields:

Friendly Name

Enter a descriptive name for the Host.

Availability Zone

Select an availability zone or choose Automatic to let AWS decide.

Instance Type

Select the EC2 instance type (e.g., 2 CPU 2 GB - t3a.small).

  1. Optionally, select Advanced Options and complete the additional configurations:

Agent Platform

Select the Agent Platform, such as EKS Linux or Docker Windows.

Image ID

The Image ID is auto-populated based on the Agent Platform; override it if needed.

Dedicated Host ID

Specify the Dedicated Host ID, e.g., h-0c6ab6f38bdcb24f6. This ID is used to launch an instance on the Host.

Allocation Tags

Add Allocation Tags to manage where workloads are scheduled within the infrastructure.

Disk Size

Enter the EBS volume size in GB. If not specified, the volume size will be the same as defined in the AMI.

Enable Storage Encryption

Select Yes to encrypt the root volume, or No to leave it unencrypted.

Key Pair Type

Select the Key Pair Type. Supported types are ED25519 and RSA. The default is ED25519.

Enable Block EBS Optimization

Select Yes to enable optimized EBS performance, or No to disable it.

Enable Hibernation

Select Yes to allow EC2 hibernation; select No to disable it.

Metadata service

Select V1 and V2 Enabled, V2 Only Enabled, or Disabled to manage instance metadata access. Default is V2 Only Enabled.

Prepend Duplo's userdata to my custom userdata

Select this option to prepend DuploCloud’s bootstrap scripts before your custom user data.

Base64 Data

Enter Base64-encoded data strings (for example, a startup script). On Linux, encode your script using:

cat <filepath> | base64 -w 0 .

Volumes

Specify additional storage volumes (in JSON format) to attach to the Host.

Tags

Enter AWS Tags as JSON key-value pairs to apply to the EC2 instance.

Node Labels

Optionally, enter Kubernetes Node Labels as key-value pairs to apply to this Host (for EKS Hosts only).

  1. Click Add. The Host will appear on the EC2 tab.

To connect to the Host using SSH, follow this procedure.

The EKS Image ID is the image published by AWS specifically for an EKS worker in the version of Kubernetes deployed at Infrastructure creation time.

If no Image ID is available with a prefix of EKS, copy the AMI ID for the desired EKS version by referring to this AWS documentation. Select Other from the Image ID list box and paste the copied AMI ID in the Other Image ID field. Contact the DuploCloud Support team via your Slack channel if you have questions or issues.

Adding an Auto Scaling Group (ASG) Host

An Auto Scaling Group (ASG) Host represents a scalable cluster of EC2 instances managed as a group. DuploCloud integrates with AWS Auto Scaling to automatically adjust capacity based on demand.

  1. Select the appropriate Tenant from the Tenant list box.

  2. Navigate to Cloud Services -> Hosts.

  3. Select the ASG tab.

  4. Click Add. The Add ASG page displays.

    Add ASG page
  5. Configure the basic ASG settings:

Friendly Name

Enter a name to identify the ASG.

Availability Zones

Select an Availability Zone or choose Automatic to let AWS decide.

Instance Type

Select the Instance Type for the ASG instances (e.g., 2 CPU 2 GB - t3a.small).

Instance Count

Enter the desired instance count for the autoscaling group.

Minimum Instances

Enter the minimum number of instances allowed.

Maximum Instances

Enter the maximum number of instances allowed.

Use for Cluster Autoscaling

Select this option to allow the Kubernetes Cluster Autoscaler to manage scaling for this cluster.

  1. Optionally, select Advanced Options and complete the additional configurations:

Agent Platform

Select the Agent Platform (e.g., EKS Linux, or Docker Windows).

Image ID

The Image ID is auto-populated based on the Agent Platform; override it if needed.

Allocation Tags

Add Allocation Tags to manage where workloads are scheduled within the infrastructure.

Disk Size

Enter the EBS volume size in GB. If not specified, the volume size will be the same as defined in the AMI.

Enable Storage Encryption

Select Yes to encrypt the root volume, or No to leave it unencrypted.

Key Pair Type

Select the key pair type. Supported types are ED25519 and RSA. The default is ED25519.

Enable Block EBS Optimization

Select Yes to enable optimized EBS performance, or No to disable it.

Enable Hibernation

Select Yes to allow EC2 hibernation; select No to disable it.

Metadata service

Select V1 and V2 Enabled, V2 Only Enabled, or Disabled to manage instance metadata access. Default is V2 Only Enabled.

Use Spot Instances

Select to launch hosts using Spot Instances.

Scale from zero (BETA)

Enable the Scale From Zero (BETA) feature.

Enabled Metrics

Select this option to enable Auto Scaling Group metrics collection.

Prepend Duplo's userdata to my custom userdata

Select this option to prepend DuploCloud’s bootstrap scripts before your custom user data.

Base64 Data

Enter Base64-encoded data strings (for example, a startup script). On Linux, encode your script using:

cat <filepath> | base64 -w 0 .

Volumes

Specify additional storage volumes (in JSON format) to attach to the Host.

Tags

Enter Tags as JSON key-value pairs to apply to the ASG.

Node Labels

Optionally, enter Kubernetes node labels as key-value pairs to apply to this Host (for EKS Hosts only).

  1. Click Add. The Host will appear on the ASG tab. For information about more advanced features, such as Launch Templates, see the Auto Scaling Groups (ASG) documentation.

Adding a BYOH Host

Bring Your Own Host (BYOH) allows you to register and manage existing servers or virtual machines with DuploCloud without provisioning resources through AWS.

  1. Select the appropriate Tenant from the Tenant list box.

  2. Navigate to Cloud Services -> Hosts.

  3. Select the BYOH tab.

  4. Click Add. The Add page displays.

    Add page
  5. Complete the following fields:

Friendly Name

Enter a descriptive name for the Host.

Direct Address

Enter the IPv4 address that DuploCloud will use to communicate with the agent installed on your Host.

Fleet Type

Select the Fleet Type that corresponds to the container orchestrator running on your Host (e.g., Linux Docker/Native, Docker Windows, or None).

Username

Optionally, enter the Username for your Host.

Password

Optionally, enter the Password for access.

Private Key

Optionally, enter the Private Key used to log in to your Host via SSH. You can specify either a Password or a Private Key for authentication.

  1. Click Add. The Host will appear on the BYOH tab.

Creating Kubernetes StorageClass and PVC constructs in the DuploCloud Portal.

See Kubernetes StorageClass and PVC.

Supported Host Actions

  1. From the DuploCloud Portal, navigate to Cloud Services -> Hosts.

  2. Select the Host name from the list.

  3. From the Actions list box, you can select Connect, Host Settings, or Host State to perform the following supported actions:

Connect:

SSH

Establish an SSH connection to work directly in the AWS Console.

Connection Details

View connection details (connection type, address, user name, visibility) and download the key.

Host Details

View Host details in the Host Details JSON screen.

The Host Actions menu with Connect selected.

Host Settings:

Create AMI

Create an AMI from the Host.

Create Snapshot

Create a snapshot of the Host at a specific point.

Update User Data

Update the Host user data.

Change Instance Size

Resize a Host instance to accommodate the workload.

Update Auto Reboot Status Check

Enable or disable Auto Reboot. Set the number of minutes after the AWS Instance Status Check fails before automatically rebooting. Also allows updating the Auto Reboot setting if the instance is disconnected.

The Host Actions menu with Host Settings selected.

Host State:

Start

Start the Host.

Reboot

Reboot the Host.

Stop

Stop the Host.

Hibernate

Temporarily freeze (hibernate) the Host.

Terminate Host

Terminate the Host.

The Host Actions menu with Host State selected.

Adding custom code for EC2 or ASG Hosts

If you add custom code for EC2 or ASG Hosts using the Base64 Data field, your custom code overrides the code needed to start the EC2 or ASG Hosts and the Hosts cannot connect to EKS. Instead, use this procedure to add custom code directly in EKS.

#!/bin/bash
set -o xtrace
/etc/eks/bootstrap.sh duploinfra-MYINFRA --kubelet-extra-args '--node-labels=tenantname=duploservices-MYTENANT'

# Custom user code:
echo "hello world"

Last updated

Was this helpful?