Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Upgrade the Azure Kubernetes Service (AKS) version
Microsoft frequently updates the version of AKS based on new features that are available in the Kubernetes platform.
DuploCloud pushes AKS upgrades to the DuploCloud Portal code, but we request that you contact the DuploCloud Support staff on your Slack channel or by email when upgrading, for the moment.
In future releases, this upgrade will be available for customers to install.
Connect to the Cluster namespace using the kubectl token.
DuploCloud provides a way to connect directly to the Cluster namespace using the kubectl token.
See kubectl Setup for available options.
Use Cases supported for DuploCloud Azure
Topics in this section are covered in the order of typical usage. Use cases that are foundational to DuploCloud such as Infrastructure, Tenant, and Hosts are listed at the beginning of this section; while supporting use cases such as Logs, Metrics, and Faults and alerts appear near the end.
Encrypt an Azure storage account
Secure your Azure cloud data by enabling for data at rest, using Encryption Key Management. Configuring this feature for your DuploCloud Infrastructure enables you to specify customer-managed keys or customer-provided keys for your existing Blob storage.
In the DuploCloud Portal, navigate to Administrator
Enable Azure Kubernetes Service (AKS) to connect with Azure
Using DuploCloud Tenants for Azure
In Azure, Microsoft cloud features such as Azure resource groups, Azure managed identity, Azure application security groups (ASG), KMS keys, and Kubernetes Namespaces are exposed in Tenants which reference their configurations.
For more information about DuploCloud Tenants, see the topic in the Getting Started with DuploCloud section.
Navigate to Administrator
Click Add.
In the Name field, enter a name for the Infrastructure.
From the Account list box, select your account number.
In the VNET CIDR field, enter the VNET CIDR.
From the Cloud list box, select Azure.
Complete the remaining fields on the Add Infrastructure form.
Click Create. The Infrastructure is created and is listed on the Infrastructure page. DuploCloud automatically creates a Plan (with the same Infrastructure name) with the Infrastructure configuration.
Cloud providers limit the number of Infrastructures that can run in each region. If you have completed the steps to create an Infrastructure and it doesn't show a Status of Complete, try selecting a different region.
To enable an AKS cluster for Azure, follow these steps.
You can encrypt your Azure storage account by configuring a Key/Value pair in the Infrastructure.
Click the System Config tab.
In the System Configs area, click Add. The Add Config pane displays.
From the Config Type list box, select Flags.
From the Key list box, select Enable Storage Account Infra Encryption.
From the Value list box, select true.
Click Submit.
The Key/Value pair configuration is displayed in the System Configs area.
Select the Infrastructure that you created from the NAME column.
Select the Kubernetes tab.
Click on the Click Here link. The Configure AKS Cluster pane displays.
Complete the following fields in the Configure AKS Cluster pane:
Cluster Name
Enter a unique name for the AKS cluster.
Node VM Size
Select the Azure VM size for the Kubernetes worker nodes (e.g., Standard_DS2_v2).
AKS Version
Select the desired Kubernetes version.
Cluster Type
Choose between: • Public: Exposes the API server via public IP • Private: Restricts access to the cluster within the virtual network
Node Count
Specify the number of nodes to deploy in the system node pool.
Max Pods
Set the maximum number of pods that can run on each node. Increasing this allows more pods per node but can affect node performance. Defaults depend on VM size.
Optionally, select Advanced Options.
Complete the following fields.
Network Plugin
Select the Kubernetes network plugin: • Azure: Integrates AKS networking with Azure VNETs (recommended) • Kubenet: Basic plugin with limited Azure network integration
K8s Resource Group
Optionally, enter the name of an existing Azure resource group to associate with the AKS cluster. If left blank, DuploCloud creates a dedicated resource group automatically.
Outbound Connectivity
Select how outbound internet traffic from the AKS cluster is routed: • Load Balancer: Outbound traffic goes through a standard Azure public load balancer. • User Defined Routing: Outbound traffic is routed via custom Azure route tables you configure.
Click Create to enable AKS for your Infrastructure. DuploCloud begins creating and configuring an AKS cluster using Kubernetes. You receive an alert message when the Infrastructure has been updated.
It may take some time to configure the cluster. The Kubernetes card on the Infrastructure page shows Enabled when the cluster is complete. You can also monitor progress using the Kubernetes tab.
In the Name field, enter a name for the Tenant. Choose unique names that are not substrings of one another, for example, if you have a Tenant named dev, you cannot create another named dev2. We recommend using distinct numerical suffixes like dev01 and dev02.
In the Plan list box, select the Plan to associate the Tenant with.
Click Create. The Tenant is created.
Manage Tenant expiry settings in the DuploCloud Portal
In the DuploCloud Portal, configure an expiration time for a Tenant. At the set expiration time, the Tenant and associated resources are deleted.
In the DuploCloud Portal, navigate to Administrator -> Tenants. The Tenants page displays.
From the Name column, select the Tenant for which you want to configure an expiration time.
From the Actions list box, select Set Tenant Expiration. The Tenant - Set Tenant Expiration pane displays.
Select the date and time (using your local time zone) when you want the Tenant to expire.
Click Set. At the configured day and time, the Tenant and associated resources will be deleted.

System NodePool Autoscaling
Optionally, enable autoscaling for the system node pool and specify the minimum and maximum number of nodes. DuploCloud will automatically scale the node count within this range based on workload demand.





Manage billing and costs for Azure resources
The DuploCloud Portal allows you to view and manage cloud resource usage costs. As an administrator, you can view your organization’s billing data by month, week, or Tenant. Non-administrator users can access billing data for Tenants they have permission to view. You can also configure billing alerts, analyze historical usage trends, and view DuploCloud license usage.
DuploCloud provides centralized logging and observability features that help you monitor AWS services, tenants, and individual applications.
Standard Observability Logs View tenant-scoped or system-wide logs using OpenSearch or Kibana dashboards:
Observability -> Standard -> Logging
Administrator -> Observability -> Standard -> Logging
See Standard Observability Logs documentation.
Advanced Observability Suite (AOS) Logs Access enhanced Grafana dashboards with live logs, traces, and detailed queries:
Observability -> Advanced -> Dashboard -> Logs
Administrator -> Observability -> Advanced -> Dashboard -> Logs
See documentation.
Container Logs For Kubernetes workloads, view logs per container:
See the Azure documentation.
In addition to the visibility of faults in the UI, DuploCloud also supports sending these notifications to the following systems:
Sentry
PagerDuty
NewRelic
AWS WorkDocs
OpsGenie
Refer to the link for the detailed configuration.
Configure Azure Availability Sets in DuploCloud
Azure Availability Sets enhance the high availability and fault tolerance of virtual machines (VMs) deployed within Azure. They distribute VMs across multiple fault and update domains to protect against hardware failures and reduce downtime during maintenance events.
In DuploCloud, Availability Sets can be configured when creating or managing hosts. There are two types of Availability Sets:
Aligned Availability Set: Used for VMs with managed disks and provides better fault domain management.
Classic Availability Set: Used for VMs with unmanaged disks and follows older Azure infrastructure standards.
Autoscaling with Azure Agent Pools and Kubernetes
DuploCloud supports various ways to scale the workload, depending on the underlying Azure services being used.
Dynamically configure Azure agent pools for optimum performance
When you use autoscaling for Azure agent pools, you allow DuploCloud to manage your application's capacity requirements within your limits.
In the DuploCloud Portal, with the Enable Autoscaling option selected. Each agent pool contains nodes backed by the virtual host machines.
Metrics of the resources created/managed in DuploCloud can be tracked under Observability -> Metrics.
Separate tabs are available to view the metrics resource type wise.
Configure settings for all new Tenants under a Plan
Grant AIM permissions to view billing data in Azure
To enable the billing feature in DuploCloud for Microsoft Azure, you must assign the Billing Reader role to the DuploCloud master VM (DuploMaster), restart the VM to apply the change, verify that the billing service is running, and then enable billing in the DuploCloud Portal.
Follow the Azure documentation to .
When assigning the role:


Select the Tenant from the Tenant list box.
Navigate to Cloud Services -> Hosts.
Select the Availability Set tab, and click Add. The Add Azure Availability Set pane displays.
Fill in the following details:
Name: Enter a descriptive name for the Availability Set.
Use managed disks: Select whether to use Managed (recommended) or Classic disks.
Platform Fault Domain Count: Specify the number of fault domains (up to 3 in most Azure regions).
Platform Update Domain Count: Specify the number of update domains (default is 5, max is 20).
Click Add to create the Availability Set.
When creating a new host, you can assign an Availability Set by selecting it from the Availability Set list box.
Select the Tenant from the Tenant list box.
Navigate to Cloud Services -> Hosts.
Select the Availability Set tab.
Click the menu icon () on the left side of the row for the Availability Set, and select Delete.
Select the Host you want to backup from the Name column.
Click Actions and select Snapshot.
Once you take a VM Snapshot, the snapshot displays as an available Image Id when you create a Host.
Click on the Plan you want to configure settings under in the NAME column.
Select the Config tab.
Click Add. The Add Config pane displays.
From the Config Type field, select TenantConfig.
In the Name field, enter the setting that you would like to apply to new Tenants under this Plan. (In the example, the enable_alerting setting is entered.)
In the Value field, enter True.
Click Submit. The setting entered in the Name field (enable alerting in the example) will apply to all new Tenants added under the Plan.
You can check that the Tenant Config settings are enabled for new Tenants on the Tenants details page, under the Settings tab.
From the DuploCloud portal, navigate to Administrator -> Tenants.
From the NAME column, select a Tenant that was added after the Tenant Config setting was enabled.
Click on the Settings tab.
Check that the configured setting is listed in the NAME column. (Enable Alerting in the example.)
Scope: Assign the role to the VM named DuploMaster.
Role: Select Billing Reader.
Identity: Choose the system-assigned or user-assigned managed identity associated with the VM.
After assigning the role, restart the DuploMaster VM so the role assignment takes effect.
Refer to Restart a virtual machine in Azure for detailed instructions.
To complete the setup:
From the DuploCloud Portal, navigate to Administrator > Billing.
On the right side of the page, click Enable Billing Feature.
Billing data will be displayed as it becomes available from Azure.
Create a link to the Azure Portal from DuploCloud
Creating a direct link to the Azure Portal from your DuploCloud Infrastructure saves your time when you work with DuploCloud Azure resources. Instead of toggling between the DuploCloud Portal and the Microsoft Azure Portal, get instant access to the Azure Portal from DuploCloud.
Failure to follow these steps when creating a link to the Azure Portal from the DuploCloud Portal results in the error message:
Error while fetching Azure portal link: Portal url config does not exist
In the DuploCloud Portal, navigate to Administrator -> Infrastructure. The Infrastructure page displays.
From the Name column, select the Infrastructure for which you want to add a link to the Azure Console.
Click the Metadata tab.
The Value in the example above is DuploCloud's internal Azure Portal link.
After you to an Infrastructure, access the Azure Console from the DuploCloud Portal in the Actions menu for Azure Hosts.
In the DuploCloud Portal, navigate to Cloud Services -> Hosts. The Hosts page displays.
From the Name column, select the Host you are working with.
From the Actions menu, select Connect -> Azure Portal.
View billing data and create billing alerts for Azure billing data
Usage costs for resources can be viewed and managed in the DuploCloud Portal, by month or week, and by Tenant. You can also explore historical resource costs.
Complete the steps on the Enable GCP billing data page before attempting to view billing data in the portal.
In the DuploCloud Portal, naviagate to Administrator -> Billing.
You can view usage by:
Time
Select the Spend by Month tab and click More Details to display monthly and weekly spending options.
Tenant
To monitor cloud costs based on usage, you can configure Billing Alerts in DuploCloud. For more details, see the .
Shared Hosts allow workloads to run on the same set of virtual machines (VMs), making better use of resources across multiple Tenants. DuploCloud supports Services, Jobs, and CronJobs on Shared Hosts in Azure, providing flexibility for running long-running services, batch jobs, and scheduled tasks.
DuploCloud supports Shared Hosts for:
Services
Jobs
CronJobs
Select the Spend by Tenant tab.










In the Key field, enter AzurePortalLink.
In the Value field, enter the URL for your Azure Portal.
Click Create.

To enable Host sharing, configure one Tenant to share its Hosts, and another Tenant to run K8s Pods on any Host.
In the DuploCloud Portal, go to Administrator → Tenant.
From the Tenant list box, select the Tenant that will share its Host.
Click the Settings tab.
Click Add. The Add Tenant Feature pane displays.
From the Select Feature list, select Allow hosts to run K8S pods from other tenants.
Select Enable, then click Add. This Tenant's Hosts (Azure VMs) can now run Pods from other Tenants.
In the DuploCloud Portal, go to Administrator → Tenant.
Select the Tenant that will run Pods on the shared Host.
Click the Settings tab.
Click Add. The Add Tenant Feature pane displays.
From the Select Feature list, select Enable option to run K8S pods on any host.
Select Enable, then click Add. This Tenant can now run Pods on other Tenant's Hosts.
After configuring Tenant settings to allow Host sharing, create the resources you want to run on the Shared Hosts.
From the Tenant list, select the Tenant that will run Pods on the Shared Host.
Go to Kubernetes → Services.
Click Add. The Add Service page displays.
Fill in the Service Name, Cloud, Platform, and Docker Image fields. Click Next.
Enable Run on Any Host.
Click Create. A Service running on the shared Host is created.
Before creating a Kubernetes Job or CronJob to run on a Shared Host, configure Tenant settings to allow Host sharing.
Once Host sharing is enabled:
Follow the steps in the DuploCloud documentation to create a Kubernetes Job or create a Kubernetes CronJob.
On the Add Kubernetes Job or Add Kubernetes CronJob page, enable the Run on Any Host option.
Click Create to deploy the Job or CronJob on a Shared Host.
You can look at Tenant specific faults under Observability -> Faults or all the faults in the system under Administrator -> Faults. In addition to notifying you about the faults, DuploCloud integrates with Sentry, which will send an Email alert for the fault and act as a single place to look at all the events.
You can create Azure alerts for the resources from the DuploCloud portal. The supported resource has Alerts Tab. Click on Add. Metrics are listed as per the resource. Select the required Threshold and configure the Alerts.
Alerts can also be configured from the Observability -> Alerts option.
When the alert Threshold is crossed, a Fault is generated in the DuploCloud portal.








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.
Select the appropriate Tenant from the Tenant list box.
Navigate to Cloud Services -> Hosts.
Select the Host tab.
Click
In the Friendly Name field, specify a unique name for the Host.
Define the Subnet for the Host.
Select the Instance Type that fits your requirements.
Enter the Username and Password for the Host.
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.
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.
For detailed instructions, see the .
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.
To view your Hosts (VMs), navigate to Cloud Services -> Hosts and select the Host tab.
See .
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 by the platform. The choices are:
Linux Docker/Native: To be used for hosting Linux containers using the .
Docker Windows: To be used for hosting Windows containers using the .
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.
Specify whether to enable a Public IP for the Host.
Optionally, check the Advanced Options box and configure advanced settings.
Click Add.
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.
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).
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.
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.




