-
Notifications
You must be signed in to change notification settings - Fork 18
Security perf #869
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
charleswool
wants to merge
51
commits into
main
Choose a base branch
from
security-perf
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Security perf #869
Changes from 33 commits
Commits
Show all changes
51 commits
Select commit
Hold shift + click to select a range
478305a
Add Azure Terraform inputs for security performance eval
charleswool 64617a6
Add azure.json for Terraform test inputs
charleswool b12654e
Update security performance evaluation configuration
charleswool 1780efb
Modify AKS configuration for performance testing
charleswool a23d91b
Configure performance evaluation schedules and parameters
charleswool e313ad0
Adjust nodeCountMax and maxPods in azure.tfvars
charleswool a7855a8
Update azure.tfvars
charleswool 5b8c7e1
Update pipelines/system/new-pipeline-test.yml
charleswool f18b35a
Update pipelines/system/new-pipeline-test.yml
charleswool 6548bd5
Update pipelines/system/new-pipeline-test.yml
charleswool a1d019d
Update azure.tfvars
charleswool 69f508e
Update azure.tfvars
charleswool 439c1ff
Update azure.tfvars
charleswool d1e33e1
Update azure.tfvars
charleswool 589f2e3
Update azure.tfvars
charleswool 2718dde
Update azure.tfvars
charleswool abbdb89
Update azure.tfvars
charleswool 65570a0
Update azure.tfvars
charleswool 86935c9
Update new-pipeline-test.yml
charleswool ff3b86e
Update azure.tfvars
charleswool ee81dcd
Update new-pipeline-test.yml
charleswool a27aea4
Update new-pipeline-test.yml
charleswool cb309b0
Update cron schedules and related conditions
charleswool 21b24b8
Update azure-1000nodes.tfvars
charleswool 5f94df6
Adjust max_count for user pools in Azure config
charleswool 37aa737
Reduce node and pod count to 1000
charleswool eb35a7f
Update azure.tfvars
charleswool 8c1b841
Add service CIDR and DNS service IP to azure.tfvars
charleswool cf3e4c2
Update azure.tfvars
charleswool 771d42d
Update azure.tfvars
charleswool 17fcfa2
Update azure.tfvars
charleswool 0677b1c
Update azure.tfvars
charleswool 347609a
Update azure.tfvars
charleswool 322f0ae
Update new-pipeline-test.yml
charleswool 64b9412
Update azure.tfvars
charleswool d408197
Update azure.tfvars
charleswool e4d4a83
Adjust node and pod counts in new pipeline test
charleswool fb0d046
Update new-pipeline-test.yml
charleswool 6324604
Update azure.tfvars
charleswool 84832d0
Change node_count for scalepool1 to 251
charleswool 4123e2d
Fix formatting issue in azure.tfvars
charleswool 7807656
Update azure.tfvars
charleswool e324ee1
Update azure.tfvars
charleswool ea543a2
Update new-pipeline-test.yml
charleswool 2a6bbbd
Update new-pipeline-test.yml
charleswool e5a0d5c
Update AKS role and name in azure.tfvars
charleswool 47ab516
Remove unnecessary blank lines in YAML file
charleswool e52c0f8
Create karpenter_nodepool.azure.yml
charleswool 4c0b013
Merge branch 'main' into security-perf
charleswool d82a292
Add disable-ssh-benchmark.yml for security evaluation
charleswool 8e813c3
Update new-pipeline-test.yml
charleswool File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,25 +1,134 @@ | ||
| trigger: none | ||
| schedules: | ||
| # Azure Small Scale(10) Schedule | ||
| - cron: "0 2 * * *" | ||
| displayName: "2:00 AM Daily" | ||
| branches: | ||
| include: | ||
| - main | ||
| always: true | ||
| # Azure Medium Scale(500) Schedule | ||
| - cron: "0 11 * * *" | ||
| displayName: "Every day at 11:00 AM" | ||
| branches: | ||
| include: | ||
| - main | ||
| always: true | ||
| # Azure Large Scale(1000) Schedule | ||
| - cron: "0 23 * * *" | ||
| displayName: "Every day at 11:00 PM" | ||
| branches: | ||
| include: | ||
| - main | ||
| always: true | ||
|
|
||
| variables: | ||
| SCENARIO_TYPE: <scenario-type> | ||
| SCENARIO_NAME: <scenario-name> | ||
| SCENARIO_TYPE: perf-eval | ||
| SCENARIO_NAME: security-perf | ||
|
|
||
| stages: | ||
| - stage: <stage-name> # format: <cloud>[_<region>]+ (e.g. azure_eastus2, aws_eastus_westus) | ||
| - stage: azure_eastus2_small_scale | ||
| condition: | | ||
| or( | ||
| eq(variables['Build.CronSchedule.DisplayName'], '2:00 AM Daily'), | ||
| eq(variables['Build.Reason'], 'Manual') | ||
| ) | ||
| 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: | ||
| - eastus2 | ||
| engine: clusterloader2 | ||
| engine_input: | ||
| image: "ghcr.io/azure/clusterloader2:v20250423" | ||
| topology: cluster-autoscaler | ||
| matrix: | ||
| small-scale-on-demand: | ||
| cpu_per_node: 4 | ||
| node_count: 11 | ||
| pod_count: 110 | ||
| scale_up_timeout: "15m" | ||
| scale_down_timeout: "15m" | ||
| node_label_selector: "cas = dedicated" | ||
| node_selector: "{cas: dedicated}" | ||
| loop_count: 5 | ||
| warmup_deployment: false | ||
| capacity_type: on-demand | ||
| max_parallel: 1 | ||
| timeout_in_minutes: 360 | ||
| credential_type: service_connection | ||
| ssh_key_enabled: false | ||
|
|
||
| - stage: azure_australiaeast_medium_scale | ||
| condition: | | ||
| or( | ||
| eq(variables['Build.CronSchedule.DisplayName'], 'Every day at 11:00 AM'), | ||
| 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/security-perf/terraform-inputs/azure.tfvars" | ||
| engine: clusterloader2 | ||
| engine_input: | ||
| image: "ghcr.io/azure/clusterloader2:v20250423" | ||
| topology: cluster-autoscaler | ||
| matrix: | ||
| medium-scale-on-demand: | ||
| cpu_per_node: 2 | ||
| node_count: 501 | ||
| pod_count: 501 | ||
| scale_up_timeout: "40m" | ||
| scale_down_timeout: "40m" | ||
| node_label_selector: "cas = dedicated" | ||
| node_selector: "{cas: dedicated}" | ||
| loop_count: 1 | ||
| warmup_deployment: false | ||
| capacity_type: on-demand | ||
| max_parallel: 1 | ||
| timeout_in_minutes: 360 | ||
| credential_type: service_connection | ||
| ssh_key_enabled: false | ||
|
|
||
| - stage: azure_australiaeast_large_scale | ||
| condition: | | ||
| or( | ||
| eq(variables['Build.CronSchedule.DisplayName'], 'Every day at 11:00 PM'), | ||
| 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/security-perf/terraform-inputs/azure.tfvars" | ||
| engine: clusterloader2 | ||
| engine_input: | ||
| image: "ghcr.io/azure/clusterloader2:v20250423" | ||
| topology: cluster-autoscaler | ||
| matrix: | ||
| large-scale-demand: | ||
| cpu_per_node: 2 | ||
| node_count: 1000 | ||
| pod_count: 1000 | ||
| scale_up_timeout: "60m" | ||
| scale_down_timeout: "60m" | ||
| node_label_selector: "cas = dedicated" | ||
| node_selector: "{cas: dedicated}" | ||
| loop_count: 1 | ||
| warmup_deployment: false | ||
| capacity_type: on-demand | ||
| max_parallel: 1 | ||
| timeout_in_minutes: 360 | ||
| credential_type: service_connection | ||
| ssh_key_enabled: false | ||
| timeout_in_minutes: 60 # if not specified, default is 60 | ||
90 changes: 90 additions & 0 deletions
90
scenarios/perf-eval/security-perf/terraform-inputs/azure.tfvars
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,90 @@ | ||
| scenario_type = "perf-eval" | ||
| scenario_name = "security-perf" | ||
| deletion_delay = "2h" | ||
| owner = "aks" | ||
|
|
||
| aks_cli_config_list = [ | ||
| { | ||
| role = "cas" | ||
| aks_name = "cas" | ||
| dns_prefix = "cas" | ||
| subnet_name = "aks-network" | ||
| sku_tier = "standard" | ||
| kubernetes_version = "1.33" | ||
| use_aks_preview_cli_extension = true | ||
|
|
||
| aks_custom_headers = [ | ||
| "AKSHTTPCustomFeatures=Microsoft.ContainerService/DisableSSHPreview" | ||
| ] | ||
|
|
||
| default_node_pool = { | ||
| name = "system" | ||
| node_count = 5 | ||
| vm_size = "Standard_D4_v5" | ||
| } | ||
|
|
||
| extra_node_pool = [ | ||
| { | ||
| name = "scalepool1" | ||
| node_count = 1 | ||
| vm_size = "Standard_D2ds_v4" | ||
| optional_parameters = [ | ||
| { | ||
| name = "ssh-access" | ||
| value = "disabled" | ||
| }, | ||
charleswool marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| { | ||
| name = "min-count" | ||
| value = 1 | ||
| }, | ||
| { | ||
| name = "max-count" | ||
| value = 501 | ||
| }, | ||
| { | ||
| name = "max-pods" | ||
| value = 110 | ||
| }, | ||
| { | ||
| name = "labels" | ||
| value = "cas=dedicated" | ||
| }, | ||
| { | ||
| name = "enable-cluster-autoscaler" | ||
| value = "" | ||
| } | ||
| ] | ||
| } | ||
| ] | ||
| 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/11" | ||
| }, | ||
| { | ||
| name = "dns-service-ip" | ||
| value = "192.168.0.10" | ||
| }, | ||
| { | ||
| name = "ssh-access" | ||
| value = "disabled" | ||
| } | ||
| ] | ||
| } | ||
| ] | ||
4 changes: 4 additions & 0 deletions
4
scenarios/perf-eval/security-perf/terraform-test-inputs/azure.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| { | ||
| "run_id" : "123456789", | ||
| "region" : "eastus2" | ||
| } |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.