Meet performance demand in AKS workloads by organizing Azure agents into agent pools
When you create agent pools to run Azure Kubernetes (AKS) workloads, you create groups of agents available to a pipeline. When you run the pipeline, the pipeline selects the agent that best meets the performance demands of that pipeline.
Autoscaling can be enabled when creating agent pools in the DuploCloud Portal. Each agent pool contains nodes backed by virtual host machines.
To create an agent pool using availability zones, you must first create a PostgreSQL Flexible Server subnet in the Infrastructure. For agent pools not using availability zones, skip this step.
Create an Azure agent pool for an existing Host in the DuploCloud Portal.
From the DuploCloud Portal, navigate to Cloud Services -> Hosts.
Select the Azure Agent Pool tab, and Click Add. The Add Azure Agent Pool page displays.
Provide inputs for the Id, Instance Type, Min Capacity, Max Capacity, and Desired Capacity fields.
Enter allocation tags in the Allocation Tags field, if required.
Optionally, select one or more availability zones from the Availability Zones list box. If you select availability zones, you must create a PostgreSQL Flexible Server subnet in the Infrastructure before adding your agent pool.
Optionally, select Enable Autoscaling.
Select the Scale Set priority: Regular creates a regular agent pool node with standard priority and Spot creates Spot AKS agent pool nodes.
If needed, adjust the number of Max Pods Per Node from the default of 30.
Click Add. It may take some time to create the agent pool. When the agent pool is ready, Succeeded displays in the Status column.
Optionally, select Enable Autoscaling.
In the Scale Set Priority list box, select Regular, or Spot. If you selected Spot, specify a Scale Set Eviction Policy, and Spot Max Price.
Edit an agent pool:
Select Cloud Services -> Hosts from the navigation menu.
Select the Azure Agent Pool tab. The Azure Agent Pool page displays.
In the Name column, select the agent pool that you want to edit.
Select the Actions menu and choose Edit.
In the Update agent pool capacity pane, edit the pool configuration.
Click Update.
Configure AKS Agent pools and Services to use spot instances in the DuploCloud platform
Spot Instances in AKS are discounted VMs that use Azure's spare capacity. This makes them a cost-effective strategy for running Kubernetes workloads. However, they can be evicted when Azure needs the resources back, so they're best for fault-tolerant tasks that are resilient to interruptions.
Follow the steps to add an agent pool.
On the Add Azure Agent Pool page, select Spot from the Scale Set Priority list box.
In the Scale Set Eviction Policy list box, specify how the virtual machines (VMs) should be managed when they need to be evicted due to capacity constraints or other reasons:
Delete: When a VM is evicted, it is completely removed from the scale set and cannot be recovered. This option is typically used when you do not need to preserve the VM's state and prefer to free up resources immediately.
Deallocate: The evicted VM is stopped and its resources are released, but its configuration and state are preserved and it can be restarted later. This is useful when you want to save the VM's state for potential future use.
In the Spot Max Price field, Specify the highest price you are willing to pay for a spot instance.
When adding or editing a Service, select Tolerate spot instances.
Tolerations will be entered by default in the Add Service page, Advanced Options, Other Container Config field.