-
Notifications
You must be signed in to change notification settings - Fork 16
Create AKS Automatic and EKS Auto Mode pipeline with AKS Store demo #753
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
base: main
Are you sure you want to change the base?
Conversation
…ne parameters and update wait conditions
… kubectl commands
…s steps for clarity
…S Terraform inputs
…urces.yml" This reverts commit 5e395bc.
…gion from the regions array" This reverts commit 7b1d5f3.
…ubectl operations
…rm inputs for EKS automatic mode" This reverts commit 00419f3.
…worker components
…-demo.yml" This reverts commit 6d084ff.
…for clarity" This reverts commit f08af9d.
…orm inputs for EKS automatic mode" This reverts commit 1f79cba.
…S Terraform inputs for EKS automatic mode"" This reverts commit 40d385b.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces a new performance evaluation scenario (cluster-automatic
) for benchmarking AKS Automatic and EKS Auto Mode clusters using the AKS Store demo application. The implementation includes complete pipeline orchestration, infrastructure configuration, and Kubernetes manifests for deploying a multi-service demo application.
Key changes include:
- New weekly scheduled pipeline for automated benchmarking across Azure (eastus2) and AWS (us-east-2) regions
- Complete AKS Store demo deployment with MongoDB, RabbitMQ, and multiple microservices
- Enhanced AWS Terraform configuration with detailed network architecture and NAT gateway setup
- Reusable pipeline steps for kubectl operations, cluster validation, and demo lifecycle management
Reviewed Changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 4 comments.
Show a summary per file
File | Description |
---|---|
cluster-automatic-single-cluster.yml | Weekly scheduled pipeline definition for Azure and AWS benchmarking |
validate-resources.yml | Azure-specific cluster validation with RBAC setup and kubeconfig conversion |
execute-aks-store-demo.yml | Simple 60-minute wait step for demo execution |
collect-aks-store-demo.yml | Demo cleanup orchestration using shared configure-demo template |
configure-demo.yml | Orchestrates deployment of all three AKS Store manifest components |
kubectl-manifest.yml | Reusable template for kubectl operations with wait conditions and error handling |
azure.tfvars | Updates role names from "client" to "automatic" for consistency |
aws.tfvars | Comprehensive network architecture with private/public subnets and NAT gateways |
aks-store-virtual-worker.yaml | Virtual worker deployment for load generation (3 replicas, minimal resources) |
aks-store-virtual-customer.yaml | Virtual customer deployment for load generation (3 replicas, minimal resources) |
aks-store-all-in-one.yaml | Complete demo application stack with StatefulSets and Services |
Co-authored-by: Copilot <[email protected]>
This pull request introduces a set of changes to support a new performance evaluation scenario (
cluster-automatic
) for benchmarking Kubernetes deployments across Azure and AWS clouds. The updates include pipeline configurations, Kubernetes manifests, Terraform inputs, and reusable pipeline steps. Below is a breakdown of the most important changes grouped by theme:Pipeline Configuration Updates:
cluster-automatic-single-cluster.yml
to define weekly benchmarking triggers, variables, and stages for Azure (eastus2
) and AWS (us-east-2
) regions. This includes job parameters for topology, engine, and timeout settings.new-pipeline-test.yml
to align with thecluster-automatic
scenario, replacing placeholders with specific values for cloud, regions, topology, and engine.Kubernetes Manifest Additions:
aks-store-virtual-customer.yaml
to define a Kubernetes deployment for the virtual customer component, including environment variables and resource limits.aks-store-virtual-worker.yaml
to define a Kubernetes deployment for the virtual worker component with similar configurations.Terraform Input Enhancements:
aws.tfvars
with detailed architecture comments for VPC, subnets, security groups, and EKS configurations. Temporarily disabled NAT gateways and Elastic IPs for testing purposes. [1] [2]azure.tfvars
to rename roles and resources for consistency with thecluster-automatic
scenario.Reusable Pipeline Steps:
kubectl-manifest.yml
to standardize Kubernetes manifest application and deletion, with support for waiting on resource readiness.configure-demo.yml
to apply manifests foraks-store-all-in-one
,virtual-worker
, andvirtual-customer
deployments.collect-aks-store-demo.yml
for deleting resources post-benchmarking.validate-resources.yml
to refresh credentials, grant RBAC permissions, and apply configurations for thecluster-automatic
topology.Execution and Wait Logic:
execute-aks-store-demo.yml
to introduce a wait mechanism for ensuring readiness before proceeding with benchmarking tasks.