[Feature] Support Azure DNS / ExternalDNS integration for App Routing Gateway API (`approuting-istio`)
- Dominant language
- TypeScript
- Stars
- 2.1k
- Forks
- 395
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 13
Description
## Feature request
Please add Azure DNS record automation support for the AKS Application Routing add-on when using Gateway API with: gatewayClassName: approuting-istio
## Current limitation
The current AKS documentation says:
Azure DNS and TLS certificate management via the application routing add-on is currently not supported for the Kubernetes Gateway API.
Reference: [https://learn.microsoft.com/en-us/azure/aks/app-routing-gateway-api#limitations)
## Why this is needed
With the existing App Routing NGINX/Ingress implementation, the add-on can integrate with Azure DNS and automatically create DNS records for Ingress hostnames.
When using the newer App Routing Gateway API implementation, this does not appear to work for Gateway or HTTPRoute hostnames.
This makes it harder to migrate from App Routing NGINX/Ingress to App Routing Gateway API, because DNS automation is lost.
## Desired behavior
When I create a Gateway/HTTPRoute like this:
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: webapp
namespace: apps
spec:
parentRefs:
- name: istio-public-gateway
hostnames:
- app.example.com
rules:
- backendRefs:
- name: webapp
port: 80
the App Routing add-on should be able to automatically create/update the matching Azure DNS A record:
app.example.com -> Gateway LoadBalancer IP
## Requested support
Please support Azure DNS (Private DNS Zone & Public DNS Zone) automation for App Routing Gateway API.
I want to expose applications through App Routing Gateway API / Istio and have DNS records managed automatically, similar to the current App Routing NGINX/Ingress experience.
Example setup:
Public Gateway using approuting-istio -> Public Azure DNS zone
Internal Gateway using approuting-istio -> Private Azure DNS zone
## Current workaround
Today, the workaround is to either:
manage DNS records manually,
manage DNS records through Bicep/Terraform,
or deploy and maintain a separate ExternalDNS installation.
It would be much better if the managed App Routing add-on supported this directly for Gateway API just like how it worked for ingress-nginx.
Contributor guide
Assessment
This issue has not been assessed yet.