Skip to content

Commit 8251ac4

Browse files
committed
Add AGIC ownership warning and apply style guide fixes\n\nAddresses user feedback #541805: Add warning that AGIC overwrites\nexisting Application Gateway configuration when enabled on an\nexisting gateway. Also applies Microsoft Style Guide improvements\nincluding second person, accessible alt text, code-formatted SKUs,\nand consistent terminology."
1 parent 12a15d9 commit 8251ac4

1 file changed

Lines changed: 44 additions & 35 deletions

File tree

articles/application-gateway/ingress-controller-overview.md

Lines changed: 44 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,64 @@
11
---
2-
title: What is Azure Application Gateway Ingress Controller?
3-
description: This article provides an introduction to what Application Gateway Ingress Controller is.
2+
title: What is Application Gateway Ingress Controller?
3+
description: Learn about Application Gateway Ingress Controller (AGIC), a Kubernetes application that enables AKS clusters to use Azure Application Gateway as a Layer 7 load balancer.
44
services: application-gateway
55
author: mbender-ms
66
ms.service: azure-application-gateway
77
ms.topic: concept-article
8-
ms.date: 08/26/2025
8+
ms.date: 03/04/2026
99
ms.author: mbender
1010
# Customer intent: "As an AKS administrator, I want to deploy the Application Gateway Ingress Controller, so that I can efficiently manage ingress traffic and leverage Azure's L7 load-balancer capabilities for improved performance and security."
1111
---
1212

1313
# What is Application Gateway Ingress Controller?
14-
The Application Gateway Ingress Controller (AGIC) is a Kubernetes application, which makes it possible for [Azure Kubernetes Service (AKS)](https://azure.microsoft.com/services/kubernetes-service/) customers to leverage Azure's native [Application Gateway](https://azure.microsoft.com/services/application-gateway/) L7 load-balancer to expose cloud software to the Internet. AGIC monitors the Kubernetes cluster it's hosted on and continuously updates an Application Gateway, so that selected services are exposed to the Internet.
1514

16-
The Ingress Controller runs in its own pod on the customer’s AKS. AGIC monitors a subset of Kubernetes Resources for changes. The state of the AKS cluster is translated to Application Gateway specific configuration and applied to the [Azure Resource Manager (ARM)](../azure-resource-manager/management/overview.md).
15+
The Application Gateway Ingress Controller (AGIC) is a Kubernetes application that enables [Azure Kubernetes Service (AKS)](https://azure.microsoft.com/services/kubernetes-service/) clusters to use the native Azure [Application Gateway](https://azure.microsoft.com/services/application-gateway/) L7 load balancer to expose workloads to the internet. AGIC monitors the Kubernetes cluster it's hosted on and continuously updates an Application Gateway so that selected services are exposed to the internet.
16+
17+
The Ingress Controller runs in its own pod on your AKS cluster. AGIC monitors a subset of Kubernetes resources for changes. The state of the AKS cluster is translated to Application Gateway-specific configuration and applied to [Azure Resource Manager (ARM)](../azure-resource-manager/management/overview.md).
18+
19+
In this article, you learn about the benefits of AGIC, deployment options (Helm and AKS add-on), and supported container networking configurations.
1720

1821
> [!TIP]
1922
> Consider [Application Gateway for Containers](for-containers/overview.md) for your Kubernetes ingress solution. For more information, see [Quickstart: Deploy Application Gateway for Containers ALB Controller](for-containers/quickstart-deploy-application-gateway-for-containers-alb-controller.md).
2023
2124
## Benefits of Application Gateway Ingress Controller
22-
AGIC helps eliminate the need to have another load balancer/public IP address in front of the AKS cluster and avoids multiple hops in your datapath before requests reach the AKS cluster. Application Gateway talks to pods using their private IP address directly and doesn't require NodePort or KubeProxy services. This capability also brings better performance to your deployments.
25+
AGIC helps eliminate the need for another load balancer or public IP address in front of the AKS cluster. It avoids multiple hops in your datapath before requests reach the AKS cluster. Application Gateway communicates with pods by using their private IP address directly and doesn't require NodePort or KubeProxy services. This capability also brings better performance to your deployments.
2326

24-
Ingress Controller is supported exclusively by Standard_v2 and WAF_v2 SKUs, which also enable autoscaling benefits. Application Gateway can react in response to an increase or decrease in traffic load and scale accordingly, without consuming any resources from your AKS cluster.
27+
Ingress Controller is supported exclusively by `Standard_v2` and `WAF_v2` SKUs, which also enable autoscaling benefits. Application Gateway can react in response to an increase or decrease in traffic load and scale accordingly, without consuming any resources from your AKS cluster.
2528

2629
Using Application Gateway in addition to AGIC also helps protect your AKS cluster by providing TLS policy and Web Application Firewall (WAF) functionality.
2730

28-
![Azure Application Gateway + AKS](./media/application-gateway-ingress-controller-overview/architecture.png)
31+
![Diagram that shows traffic flowing from the internet through Application Gateway into an AKS cluster with AGIC.](./media/application-gateway-ingress-controller-overview/architecture.png)
32+
33+
AGIC is configured through the Kubernetes [Ingress resource](https://kubernetes.io/docs/concepts/services-networking/ingress/), along with Service and Deployments/Pods. By using the native Azure Application Gateway L7 load balancer, AGIC provides the following features:
2934

30-
AGIC is configured via the Kubernetes [Ingress resource](https://kubernetes.io/docs/concepts/services-networking/ingress/), along with Service and Deployments/Pods. It provides many features, using Azure’s native Application Gateway L7 load balancer. To name a few:
31-
- URL routing
32-
- Cookie-based affinity
33-
- TLS termination
34-
- End-to-end TLS
35-
- Support for public, private, and hybrid web sites
36-
- Integrated web application firewall
35+
- URL routing
36+
- Cookie-based affinity
37+
- TLS termination
38+
- End-to-end TLS
39+
- Support for public, private, and hybrid websites
40+
- Integrated web application firewall
41+
42+
> [!WARNING]
43+
> By default, AGIC assumes full ownership of the Application Gateway it's linked to. AGIC overwrites all existing Application Gateway configuration that isn't defined in Kubernetes Ingress resources. Any listeners, backend pools, rules, or other settings previously configured on the Application Gateway are removed or replaced when AGIC is enabled. Before enabling AGIC on an existing Application Gateway, back up your Application Gateway configuration by exporting the template from the Azure portal. For more information, see [Back up the Application Gateway deployment](ingress-controller-install-existing.md#back-up-the-application-gateway-deployment).
44+
>
45+
> If you need AGIC to coexist with existing Application Gateway configurations, see [Set up a shared Application Gateway deployment](ingress-controller-install-existing.md#set-up-a-shared-application-gateway-deployment) (Helm only).
3746
38-
## Difference between Helm deployment and AKS Add-On
39-
There are two ways to deploy AGIC for your AKS cluster. The first way is through Helm; the second is through AKS as an add-on. The primary benefit of deploying AGIC as an AKS add-on is that it's simpler than deploying through Helm. For a new setup, you can deploy a new Application Gateway and a new AKS cluster with AGIC enabled as an add-on in one line in Azure CLI. The add-on is also a fully managed service, which provides added benefits such as automatic updates and increased support. Both ways of deploying AGIC (Helm and AKS add-on) are fully supported by Microsoft. Additionally, the add-on allows for better integration with AKS as a first class add-on.
47+
## Difference between Helm deployment and AKS add-on
48+
You can deploy AGIC for your AKS cluster by using either Helm or AKS as an add-on. The primary benefit of deploying AGIC as an AKS add-on is that it's simpler than deploying through Helm. For a new setup, you can deploy a new Application Gateway and a new AKS cluster with AGIC enabled as an add-on in one line in Azure CLI. The add-on is also a fully managed service, which provides added benefits such as automatic updates and increased support. Both ways of deploying AGIC (Helm and AKS add-on) are fully supported by Microsoft. Additionally, the add-on allows for better integration with AKS as a first-class add-on.
4049

41-
The AGIC add-on is still deployed as a pod in the customer's AKS cluster, however, there are a few differences between the Helm deployment version and the add-on version of AGIC. The following is a list of differences between the two versions:
42-
- Helm deployment values can't be modified on the AKS add-on:
50+
Although you deploy the AGIC add-on as a pod in your AKS cluster, some differences exist between the Helm deployment version and the add-on version of AGIC. The following list highlights the differences:
51+
- You can't modify Helm deployment values on the AKS add-on:
4352
- `verbosityLevel` is set to 5 by default
44-
- `usePrivateIp` is set to be false by default; this setting can be overwritten by the [use-private-ip annotation](ingress-controller-annotations.md#use-private-ip)
53+
- `usePrivateIp` is set to false by default; overwrite this setting by using the [use-private-ip annotation](ingress-controller-annotations.md#use-private-ip)
4554
- `shared` isn't supported on add-on
4655
- `reconcilePeriodSeconds` isn't supported on add-on
4756
- `armAuth.type` isn't supported on add-on
48-
- AGIC deployed via Helm supports ProhibitedTargets, which means AGIC can configure the Application Gateway specifically for AKS clusters without affecting other existing backends. AGIC add-on doesn't currently support this capability.
49-
- Since AGIC add-on is a managed service, customers are automatically updated to the latest version of AGIC add-on, unlike AGIC deployed through Helm where the customer must manually update AGIC.
57+
- AGIC deployed through Helm supports ProhibitedTargets, which means AGIC can configure the Application Gateway specifically for AKS clusters without affecting other existing backends. AGIC add-on doesn't currently support this capability.
58+
- Because AGIC add-on is a managed service, you automatically receive updates to the latest version of AGIC add-on. By contrast, when you deploy AGIC through Helm, you must manually update AGIC.
5059

5160
> [!NOTE]
52-
> Customers can only deploy one AGIC add-on per AKS cluster, and each AGIC add-on currently can only target one Application Gateway. For deployments that require more than one AGIC per cluster or multiple AGICs targeting one Application Gateway, please continue to use AGIC deployed through Helm.
61+
> You can deploy only one AGIC add-on per AKS cluster, and each AGIC add-on can currently target only one Application Gateway. For deployments that require more than one AGIC per cluster or multiple AGICs targeting one Application Gateway, use AGIC deployed through Helm.
5362
>
5463
> Both Helm and AGIC add-on don't support ExternalName service.
5564
@@ -61,30 +70,30 @@ Application Gateway Ingress Controller supports the following AKS network offeri
6170
- CNI
6271
- CNI Overlay
6372

64-
Azure CNI and Azure CNI Overlay are the two recommended options for Application Gateway Ingress Controller. When choosing a networking model, consider the use cases for each CNI plugin and the type of network model it uses:
73+
Azure CNI and Azure CNI Overlay are the two recommended options for Application Gateway Ingress Controller. When you choose a networking model, consider the use cases for each CNI plugin and the type of network model it uses:
6574

6675
| CNI plugin | Networking model | Use case highlights |
6776
|-------------|----------------------|-----------------------|
68-
| **Azure CNI Overlay** | Overlay | - Best for VNET IP conservation<br/>- Max node count supported by API Server + 250 pods per node<br/>- Simpler configuration<br/> -No direct external pod IP access |
69-
| **Azure CNI Pod Subnet** | Flat | - Direct external pod access<br/>- Modes for efficient VNet IP usage _or_ large cluster scale support |
70-
| **Azure CNI Node Subnet** | Flat | - Direct external pod access<br/>- Simpler configuration <br/>- Limited scale <br/>- Inefficient use of VNet IPs |
77+
| **Azure CNI Overlay** | Overlay | - Best for virtual network IP conservation<br/>- Max node count supported by API Server + 250 pods per node<br/>- Simpler configuration<br/> -No direct external pod IP access |
78+
| **Azure CNI Pod Subnet** | Flat | - Direct external pod access<br/>- Modes for efficient virtual network IP usage _or_ large cluster scale support |
79+
| **Azure CNI Node Subnet** | Flat | - Direct external pod access<br/>- Simpler configuration <br/>- Limited scale <br/>- Inefficient use of virtual network IPs |
7180

72-
When provisioning Application Gateway for Containers into a cluster that has CNI Overlay or CNI enabled, Application Gateway for Containers automatically detects the intended network configuration. There are no changes needed in Gateway or Ingress API configuration to specify CNI Overlay or CNI.
81+
When you provision Application Gateway for Containers into a cluster that has CNI Overlay or CNI enabled, Application Gateway for Containers automatically detects the intended network configuration. You don't need to change Gateway or Ingress API configuration to specify CNI Overlay or CNI.
7382

74-
With Azure CNI Overlay, please consider the following limitations:
83+
When you use Azure CNI Overlay, consider the following limitations:
7584

7685
* AGIC Controller: You must be running version v1.9.1 or greater to take advantage of CNI Overlay.
7786
* Subnet Size: The Application Gateway subnet must be a maximum /24 prefix; only one deployment is supported per subnet.
7887
* Subnet Delegation: The Application Gateway subnet must have subnet delegation for Microsoft.Network/applicationGateways.
79-
* Regional VNet Peering: Application Gateway deployed in a virtual network in region A and the AKS cluster nodes in a virtual network in region A is not supported.
80-
* Global VNet Peering: Application Gateway deployed in a virtual network in region A and the AKS cluster nodes in a virtual network in region B is not supported.
81-
* Azure CNI Overlay with Application Gateway Ingress Controller is not supported in Azure Government cloud or Microsoft Azure operated by 21Vianet (Azure in China).
88+
* Regional virtual network Peering: You can't deploy Application Gateway in a virtual network in one region and the AKS cluster nodes in a virtual network in the same region.
89+
* Global virtual network Peering: You can't deploy Application Gateway in a virtual network in one region and the AKS cluster nodes in a virtual network in a different region.
90+
* Azure CNI Overlay with Application Gateway Ingress Controller isn't supported in Azure Government cloud or Microsoft Azure operated by 21Vianet (Azure in China).
8291

83-
>[!Note]
84-
>Upgrade of the AKS cluster from Kubenet or CNI to CNI Overlay is automatically detected by Application Gateway Ingress Controller. It's recommended to schedule the upgrade during a maintenance window as traffic disruption can occur. The controller may take a few minutes post-cluster upgrade to detect and configure support for CNI Overlay.
92+
>[!NOTE]
93+
> Application Gateway Ingress Controller automatically detects upgrade of the AKS cluster from Kubenet or CNI to CNI Overlay. Schedule the upgrade during a maintenance window as traffic disruption can occur. The controller might take a few minutes after cluster upgrade to detect and configure support for CNI Overlay.
8594
8695
>[!WARNING]
87-
> Ensure the Application Gateway subnet is a /24 or smaller subnet prior to upgrading. Upgrading from CNI to CNI Overlay with a larger subnet (i.e. /23) will lead to an outage and require the Application Gateway subnet to be recreated with a supported subnet size.
96+
> Ensure the Application Gateway subnet is a /24 or smaller subnet before upgrading. Upgrading from CNI to CNI Overlay with a larger subnet (for example, /23) leads to an outage and requires you to recreate the Application Gateway subnet with a supported subnet size.
8897
8998
## Next steps
9099
- [**AKS Add-On Greenfield Deployment**](tutorial-ingress-controller-add-on-new.md): Instructions on installing AGIC add-on, AKS, and Application Gateway on blank-slate infrastructure.

0 commit comments

Comments
 (0)