Skip to content
Open
Show file tree
Hide file tree
Changes from 8 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
2 changes: 1 addition & 1 deletion modules/terraform/azure/aks-cli/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ resource "terraform_data" "enable_aks_cli_preview_extension" {
EOT
) : (
<<EOT
az extension add -n aks-preview --version 19.0.0b27
az extension add -n aks-preview --version 21.0.0b1
Comment thread
realsdx marked this conversation as resolved.
az version
EOT
Comment thread
realsdx marked this conversation as resolved.
)
Expand Down
50 changes: 50 additions & 0 deletions pipelines/perf-eval/CRI Benchmark/acl-resource-consume.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
trigger: none
pr: none

variables:
SCENARIO_TYPE: perf-eval
SCENARIO_NAME: acl-resource-consume

stages:
- stage: acl_resource_consume
displayName: ACL CRI resource consume (westus3)
dependsOn: []
jobs:
- template: /jobs/competitive-test.yml
parameters:
cloud: azure
regions:
- westus3
engine: clusterloader2
engine_input:
image: "ghcr.io/azure/clusterloader2:v20250513"
topology: cri-resource-consume
matrix:
n10-p300-memory:
node_count: 10
max_pods: 30
repeats: 1
operation_timeout: 3m
load_type: memory
scrape_kubelets: True
os_type: linux
n10-p700-memory:
node_count: 10
max_pods: 70
repeats: 1
operation_timeout: 7m
load_type: memory
scrape_kubelets: True
os_type: linux
n10-p1100-memory:
node_count: 10
max_pods: 110
repeats: 1
operation_timeout: 11m
load_type: memory
scrape_kubelets: True
os_type: linux
max_parallel: 1
timeout_in_minutes: 120
credential_type: service_connection
ssh_key_enabled: false
57 changes: 41 additions & 16 deletions pipelines/system/new-pipeline-test.yml
Original file line number Diff line number Diff line change
@@ -1,25 +1,50 @@
trigger: none
pr: none

variables:
SCENARIO_TYPE: <scenario-type>
SCENARIO_NAME: <scenario-name>
SCENARIO_TYPE: perf-eval
SCENARIO_NAME: acl-resource-consume

stages:
- stage: <stage-name> # format: <cloud>[_<region>]+ (e.g. azure_eastus2, aws_eastus_westus)
- stage: acl_resource_consume
displayName: ACL CRI resource consume (westus3)
dependsOn: []
jobs:
- template: /jobs/competitive-test.yml # must keep as is
- template: /jobs/competitive-test.yml
parameters:
cloud: <cloud> # e.g. azure, aws
regions: # list of regions
- region1 # e.g. eastus2
topology: <topology> # e.g. cluster-autoscaler
engine: <engine> # e.g. clusterloader2
matrix: # list of test parameters to customize the provisioned resources
<case-name>:
<key1>: <value1>
<key2>: <value2>
max_parallel: <number of concurrent jobs> # required
credential_type: service_connection # required
cloud: azure
regions:
- westus3
engine: clusterloader2
engine_input:
image: "ghcr.io/azure/clusterloader2:v20250513"
topology: cri-resource-consume
matrix:
n10-p300-memory:
node_count: 10
max_pods: 30
repeats: 1
operation_timeout: 3m
load_type: memory
scrape_kubelets: True
os_type: linux
n10-p700-memory:
node_count: 10
max_pods: 70
repeats: 1
operation_timeout: 7m
load_type: memory
scrape_kubelets: True
os_type: linux
n10-p1100-memory:
node_count: 10
max_pods: 110
repeats: 1
operation_timeout: 11m
load_type: memory
scrape_kubelets: True
os_type: linux
max_parallel: 1
timeout_in_minutes: 120
credential_type: service_connection
ssh_key_enabled: false
timeout_in_minutes: 60 # if not specified, default is 60
21 changes: 21 additions & 0 deletions scenarios/perf-eval/acl-resource-consume/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# ACL CRI Resource Consume

This scenario runs ACL AKS node performance validation through Telescope v1.

## Pipeline

Register this YAML in Azure DevOps:

```text
pipelines/perf-eval/CRI Benchmark/acl-resource-consume.yml
```

Queue it manually for validation runs.

## Azure DevOps Inputs

The pipeline environment must provide `AZURE_SERVICE_CONNECTION`, `AZURE_SUBSCRIPTION_ID`, and `AZURE_TELESCOPE_STORAGE_ACCOUNT_NAME`. The service connection identity needs Contributor on the subscription for temporary resource groups and Storage Blob Data Contributor on the result storage account. Ensure the storage account has a `perf-eval` container, because Telescope uploads results to a container named after `SCENARIO_TYPE`.

## ACL OS Selector

The current Terraform input uses the AKS CLI path and sets `--os-sku AzureContainerLinux` for the cluster and ACL node pools.
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
scenario_type = "perf-eval"
scenario_name = "acl-resource-consume"
deletion_delay = "2h"
owner = "aks"

# This scenario intentionally uses the AKS CLI Terraform path instead of the
# azurerm AKS resource path so it can pass ACL-specific AKS CLI options such as
# --os-sku AzureContainerLinux.
aks_cli_config_list = [
{
role = "client"
aks_name = "acl-resource-consume"
sku_tier = "standard"
kubernetes_version = "1.35"
use_aks_preview_cli_extension = true
aks_custom_headers = []
default_node_pool = {
name = "default"
node_count = 3
vm_size = "Standard_D16_v5"
}
extra_node_pool = [
{
name = "prompool"
node_count = 1
vm_size = "Standard_D16_v5"
optional_parameters = [
{
name = "labels"
value = "prometheus=true"
},
{
name = "os-sku"
value = "AzureContainerLinux"
},
{
name = "enable-secure-boot"
value = ""
},
{
name = "enable-vtpm"
value = ""
},
{
name = "tags"
value = "AzSecPackAutoConfigReady=true"
}
]
},
{
name = "userpool0"
node_count = 10
vm_size = "Standard_D16ds_v6"
optional_parameters = [
{
name = "node-osdisk-type"
value = "Ephemeral"
},
{
Comment on lines +44 to +52
name = "os-sku"
value = "AzureContainerLinux"
},
{
name = "enable-secure-boot"
value = ""
},
{
name = "enable-vtpm"
value = ""
},
{
name = "tags"
value = "AzSecPackAutoConfigReady=true"
},
{
name = "node-taints"
value = "cri-resource-consume=true:NoSchedule,cri-resource-consume=true:NoExecute"
},
{
name = "labels"
value = "cri-resource-consume=true"
}
]
}
]
optional_parameters = [
{
name = "network-plugin"
value = "azure"
},
{
name = "network-plugin-mode"
value = "overlay"
},
{
name = "node-init-taints"
value = "CriticalAddonsOnly=true:NoSchedule"
},
{
name = "pod-cidr"
value = "10.0.0.0/9"
},
{
name = "service-cidr"
value = "192.168.0.0/16"
},
{
name = "dns-service-ip"
value = "192.168.0.10"
},
{
name = "os-sku"
value = "AzureContainerLinux"
},
{
name = "enable-secure-boot"
value = ""
},
{
name = "enable-vtpm"
value = ""
},
{
name = "nodepool-tags"
value = "AzSecPackAutoConfigReady=true"
},
{
name = "node-os-upgrade-channel"
value = "None"
}
]
}
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"run_id" : "123456789",
"region" : "westus3"
}
Loading