Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,25 @@ schedules:
include:
- main
always: true
# AKS Automatic MachineAPI On-Demand Schedule
- cron: "0 3 * * *"
displayName: "Every day at 3:00 AM with Machine API"
branches:
include:
- main
always: true

variables:
SCENARIO_TYPE: perf-eval
SCENARIO_NAME: cluster-automatic

stages:
- stage: azure_australiaeast_acn_off
condition: |
or(
eq(variables['Build.CronSchedule.DisplayName'], 'Every day at 3:00 PM'),
eq(variables['Build.Reason'], 'Manual')
)
dependsOn: []
jobs:
- template: /jobs/competitive-test.yml
Expand Down Expand Up @@ -62,6 +74,11 @@ stages:
credential_type: service_connection
ssh_key_enabled: false
- stage: azure_australiaeast_acn_on
condition: |
or(
eq(variables['Build.CronSchedule.DisplayName'], 'Every day at 3:00 PM'),
eq(variables['Build.Reason'], 'Manual')
)
dependsOn: azure_australiaeast_acn_off
jobs:
- template: /jobs/competitive-test.yml
Expand Down Expand Up @@ -108,3 +125,107 @@ stages:
timeout_in_minutes: 90
credential_type: service_connection
ssh_key_enabled: false
- stage: azure_australiaeast_acn_off_machineapi
condition: |
or(
eq(variables['Build.CronSchedule.DisplayName'], 'Every day at 3:00 AM with Machine API'),
eq(variables['Build.Reason'], 'Manual')
)
dependsOn: []
jobs:
- template: /jobs/competitive-test.yml
parameters:
cloud: azure
regions:
- australiaeast
terraform_input_file_mapping:
- australiaeast: "scenarios/perf-eval/cluster-automatic/terraform-inputs/azure-machineapi.tfvars"
engine: clusterloader2
engine_input:
image: "ghcr.io/azure/clusterloader2:v20250912"
topology: cluster-automatic
matrix:
automatic-acn-off-1-node:
cpu_per_node: 4
node_count: 1
pod_count: 1
scale_up_timeout: "30m"
scale_down_timeout: "30m"
node_label_selector: "karpenter.sh/nodepool = default"
node_selector: "{karpenter.sh/nodepool: default}"
loop_count: 1
warmup_deployment: true
vm_size: Standard_D4ds_v5
capacity_type: on-demand
warmup_deployment_template: automatic/warmup_deployment.yaml
deployment_template: automatic/deployment_template.yaml
automatic-acn-off-100-nodes:
cpu_per_node: 4
node_count: 100
pod_count: 100
scale_up_timeout: "30m"
scale_down_timeout: "30m"
node_label_selector: "karpenter.sh/nodepool = default"
node_selector: "{karpenter.sh/nodepool: default}"
loop_count: 1
warmup_deployment: true
vm_size: Standard_D4ds_v5
capacity_type: on-demand
warmup_deployment_template: automatic/warmup_deployment.yaml
deployment_template: automatic/deployment_template.yaml
max_parallel: 1
timeout_in_minutes: 90
credential_type: service_connection
ssh_key_enabled: false
- stage: azure_australiaeast_acn_on_machineapi
condition: |
or(
eq(variables['Build.CronSchedule.DisplayName'], 'Every day at 3:00 AM with Machine API'),
eq(variables['Build.Reason'], 'Manual')
)
dependsOn: azure_australiaeast_acn_off_machineapi
jobs:
- template: /jobs/competitive-test.yml
parameters:
cloud: azure
regions:
- australiaeast
terraform_input_file_mapping:
- australiaeast: "scenarios/perf-eval/cluster-automatic/terraform-inputs/azure-automatic-benchmark-acn-on-machineapi.tfvars"
engine: clusterloader2
engine_input:
image: "ghcr.io/azure/clusterloader2:v20250912"
topology: cluster-automatic
matrix:
automatic-acn-on-1-node:
cpu_per_node: 4
node_count: 1
pod_count: 1
scale_up_timeout: "30m"
scale_down_timeout: "30m"
node_label_selector: "karpenter.sh/nodepool = default"
node_selector: "{karpenter.sh/nodepool: default}"
loop_count: 1
warmup_deployment: true
vm_size: Standard_D4ds_v5
capacity_type: on-demand
warmup_deployment_template: automatic/warmup_deployment.yaml
deployment_template: automatic/deployment_template.yaml
automatic-acn-on-100-nodes:
cpu_per_node: 4
node_count: 100
pod_count: 100
scale_up_timeout: "30m"
scale_down_timeout: "30m"
node_label_selector: "karpenter.sh/nodepool = default"
node_selector: "{karpenter.sh/nodepool: default}"
loop_count: 1
warmup_deployment: true
vm_size: Standard_D4ds_v5
capacity_type: on-demand
warmup_deployment_template: automatic/warmup_deployment.yaml
deployment_template: automatic/deployment_template.yaml
max_parallel: 1
timeout_in_minutes: 90
credential_type: service_connection
ssh_key_enabled: false
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
scenario_type = "perf-eval"
scenario_name = "cluster-automatic"
deletion_delay = "2h"
owner = "aks"
aks_cli_config_list = [
{
role = "automatic"
aks_name = "automatic"
sku_tier = "Standard"
use_aks_preview_cli_extension = true
grant_rbac_permissions = true
optional_parameters = [
{
name = "sku"
value = "automatic" # Enable automatic
},
{
name = "zones"
value = "1 2 3" # Must add all zones since: Managed cluster 'Automatic' SKU should enable 'AvailabilityZones' feature with recommended values
},
{
name = "enable-acns" # enable ACNs
value = ""
},
{
name = "aks-custom-headers"
value = "AKSHTTPCustomFeatures=Microsoft.ContainerService/AKSHTTPCustomFeatures,BootstrappingMethodTestOnly=aksmachineapiheaderbatch"
}
]
}
]
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,14 @@ aks_cli_config_list = [
name = "zones"
value = "1 2 3" # Must add all zones since: Managed cluster 'Automatic' SKU should enable 'AvailabilityZones' feature with recommended values
},
{
name = "enable-acns" # enable ACNs
value = ""
}
]
}
]
{
name = "enable-acns" # enable ACNs
value = ""
},
{
name = "aks-custom-headers"
value = "AKSHTTPCustomFeatures=Microsoft.ContainerService/AKSHTTPCustomFeatures,BootstrappingMethodTestOnly=bootstrappingclient"
}
]
}
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
scenario_type = "perf-eval"
scenario_name = "cluster-automatic"
deletion_delay = "2h"
owner = "aks"
aks_cli_config_list = [
{
role = "automatic"
aks_name = "automatic"
sku_tier = "Standard"
use_aks_preview_cli_extension = true
optional_parameters = [
{
name = "sku"
value = "automatic" # Enable automatic
},
{
name = "zones"
value = "1 2 3" # Must add all zones since: Managed cluster 'Automatic' SKU should enable 'AvailabilityZones' feature with recommended values
},
{
name = "aks-custom-headers"
value = "AKSHTTPCustomFeatures=Microsoft.ContainerService/AKSHTTPCustomFeatures,BootstrappingMethodTestOnly=aksmachineapiheaderbatch"
}
]
}
]
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,11 @@ aks_cli_config_list = [
{
name = "zones"
value = "1 2 3" # Must add all zones since: Managed cluster 'Automatic' SKU should enable 'AvailabilityZones' feature with recommended values
},
{
name = "aks-custom-headers"
value = "AKSHTTPCustomFeatures=Microsoft.ContainerService/AKSHTTPCustomFeatures,BootstrappingMethodTestOnly=bootstrappingclient"
}
]
}
]
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"run_id" : "123456789",
"region" : "eastus2"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"run_id" : "123456789",
"region" : "eastus2"
}
Loading