arrow-left

All pages
gitbookPowered by GitBook
1 of 1

Loading...

Adding Hosts

Add a Host (virtual machine) 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.

hashtag
Adding a Host (VM)

hashtag
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.

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

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

To connect to the Host using SSH, .

circle-info

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 . 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.

hashtag
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.

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

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

hashtag
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.

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

hashtag
Creating Kubernetes StorageClass and PVC constructs in the DuploCloud Portal.

See .

hashtag
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:

hashtag
Connect:

hashtag
Host Settings:

hashtag
Host State:

hashtag
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, to add custom code directly in EKS.

Click Add. The Add Host page displays.

Add Host page
  • Complete the required fields:

  • 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).

    Click Add. The Add ASG page displays.
    Add ASG page
  • Configure the basic ASG settings:

  • 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).

    Click Add. The Add page displays.
    Add page
  • Complete the following 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).

    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.

    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.

    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.

    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.

    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.

    Create AMI

    Create an Amazon Machine Image (AMI) of 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.

    Start

    Start the Host.

    Reboot

    Reboot the Host.

    Stop

    Stop the Host.

    Hibernate

    Temporarily freeze (hibernate) the Host.

    Terminate Host

    Terminate the Host.

    follow this procedure
    AWS documentationarrow-up-right
    Auto Scaling Groups (ASG) documentation
    Kubernetes StorageClass and PVC
    use this procedure
    The Host Actions menu with Connect selected.
    The Host Actions menu with Host Settings selected.
    The Host Actions menu with Host State selected.

    Enable Block EBS Optimization

    Enable Hibernation

    #!/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"