Hello, @Ian Joyce !
How do I deploy an AKS cluster with the Application Gateway Ingress Controller (AGIC) add-on via ARM/Bicep?
There is a very extensive code sample that goes through the architecture, deployment options (both using the AGIC add-on for AKS and via a Helm chart), and additional considerations. This is an ARM template but I'm including Bicep information below:
- Code Samples: Create an Azure Kubernetes Service cluster with the Azure Application Gateway Ingress Controller
- GitHub: AKS cluster with the Application Gateway Ingress Controller
As far as a Bicep deployment is concerned, you can use the AKS Managed Clusters Bicep template for creating an AKS cluster and enable AGIC using a similar approach to the GitHub sample above with ingressApplicationGateway
:
"ingressApplicationGateway": {
"config": {
"applicationGatewayId": "[variables('applicationGatewayId')]"
},
"enabled": true,
"identity": {
"clientId": "[reference(variables('applicationGatewayUserDefinedManagedIdentityId')).clientId]",
"objectId": "[reference(variables('applicationGatewayUserDefinedManagedIdentityId')).principalId]",
"resourceId": "[variables('applicationGatewayUserDefinedManagedIdentityId')]"
}
}
If this doesn't address what you are looking for, let me know so we can look for a sample that more closely aligns with your design goals.
A diagram of the overall architecture: