[AKS] az aks create/update: Add new parameters --enable-app-routing-istio and --disable-app-routing-istio to manage App Routing Istio gateway implementation#33254
Conversation
️✔️AzureCLI-FullTest
|
|
Hi @meecethereese, |
❌AzureCLI-BreakingChangeTest
Please submit your Breaking Change Pre-announcement ASAP if you haven't already. Please note:
|
|
Thank you for your contribution! We will review the pull request and get back to you soon. |
|
The git hooks are available for azure-cli and azure-cli-extensions repos. They could help you run required checks before creating the PR. Please sync the latest code with latest dev branch (for azure-cli) or main branch (for azure-cli-extensions). pip install azdev --upgrade
azdev setup -c <your azure-cli repo path> -r <your azure-cli-extensions repo path>
|
There was a problem hiding this comment.
Pull request overview
Adds support in az aks create/update (and new az aks approuting gateway istio subcommands) to manage the Gateway API installation and the App Routing “Istio” Gateway API implementation, backed by a newer azure-mgmt-containerservice SDK version.
Changes:
- Bump
azure-mgmt-containerservicedependency to41.1.0across setup + OS-specific requirements. - Add new CLI args for managed Gateway API installation (
--enable/--disable-gateway-api) and App Routing Istio implementation (--enable/--disable-app-routing-istio,--enable/--disable-ari). - Implement create/update wiring in the managed cluster decorators and add unit + scenario tests and help entries, plus new
az aks approuting gateway istio enable/disablecommands.
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| src/azure-cli/setup.py | Bumps mgmt-containerservice SDK floor to pick up new model surface. |
| src/azure-cli/requirements.py3.windows.txt | Pins mgmt-containerservice to 41.1.0 on Windows. |
| src/azure-cli/requirements.py3.Linux.txt | Pins mgmt-containerservice to 41.1.0 on Linux. |
| src/azure-cli/requirements.py3.Darwin.txt | Pins mgmt-containerservice to 41.1.0 on macOS. |
| src/azure-cli/azure/cli/command_modules/acs/_consts.py | Adds constants for gateway installation + App Routing Istio modes. |
| src/azure-cli/azure/cli/command_modules/acs/_params.py | Registers new CLI parameters for aks create/update. |
| src/azure-cli/azure/cli/command_modules/acs/managed_cluster_decorator.py | Wires new params into create/update request shaping. |
| src/azure-cli/azure/cli/command_modules/acs/custom.py | Adds new approuting gateway istio enable/disable custom commands; passes new params into decorator flow. |
| src/azure-cli/azure/cli/command_modules/acs/commands.py | Registers new aks approuting gateway istio command group. |
| src/azure-cli/azure/cli/command_modules/acs/_help.py | Documents new args and new approuting gateway istio commands. |
| src/azure-cli/azure/cli/command_modules/acs/tests/latest/test_managed_cluster_decorator.py | Adds unit tests for new context getters and decorator mutations. |
| src/azure-cli/azure/cli/command_modules/acs/tests/latest/test_aks_commands.py | Adds new scenario tests covering gateway api + app routing istio flows. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
The cherry-picked App Routing Istio commits from PR Azure#33254 share branch ancestry with the Managed Gateway API changes from PR Azure#33238. This commit surgically removes the gateway-api-only code that came along, while preserving the App Routing Istio functionality. Removed: - CONST_MANAGED_GATEWAY_INSTALLATION_DISABLED/STANDARD constants - enable_gateway_api / disable_gateway_api parameters and help entries - set_up_ingress_profile_gateway_api / update_ingress_profile_gateway_api decorator methods - Associated unit and integration tests Kept: - App Routing Istio (CONST_APP_ROUTING_ISTIO_MODE_*) - gateway_api_implementations.app_routing_istio field handling
The cherry-picked App Routing Istio commits from PR Azure#33254 share branch ancestry with the Managed Gateway API changes from PR Azure#33238. This commit surgically removes the gateway-api-only code that came along, while preserving the App Routing Istio functionality. Removed: - CONST_MANAGED_GATEWAY_INSTALLATION_DISABLED/STANDARD constants - enable_gateway_api / disable_gateway_api parameters and help entries - set_up_ingress_profile_gateway_api / update_ingress_profile_gateway_api decorator methods - Associated unit and integration tests Kept: - App Routing Istio (CONST_APP_ROUTING_ISTIO_MODE_*) - gateway_api_implementations.app_routing_istio field handling
dff1e2d to
0379b08
Compare
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
Related command
az aks create
az aks update
Description
Promote App Routing Istio from the aks-preview extension to the GA Azure CLI.
Adds two new mutually-exclusive flags (with --enable-ari / --disable-ari aliases) to az aks create (enable
only) and az aks update (enable and disable):
Routing (sets ingressProfile.webAppRouting.gatewayApiImplementations.appRoutingIstio.mode to Enabled).
This is an ingress-only deployment of Istio: it does not provide service-mesh functionality (mTLS,
inter-service traffic management). It cannot be used together with the Istio service mesh add-on
(--enable-azure-service-mesh). App Routing must be enabled on the cluster, and the managed Gateway API
installation provides the Gateway implementation that App Routing Istio binds to. This change ports the
implementation from the aks-preview extension.
Testing Guide
History Notes
[AKS] az aks create: Add --enable-app-routing-istio to enable Gateway API based ingress on App Routing via
Istio
[AKS] az aks update: Add --enable-app-routing-istio and --disable-app-routing-istio to manage App Routing
Istio
This checklist is used to make sure that common guidelines for a pull request are followed.
The PR title and description has followed the guideline in Submitting Pull Requests.
I adhere to the Command Guidelines.
I adhere to the Error Handling Guidelines.