Azure / Azure/AKS

[Feature] Support Azure DNS / ExternalDNS integration for App Routing Gateway API (`approuting-istio`)

Open
#5,756 3 comments 0 reactions 2 assignees Claimed by @jaiveerk View on GitHub
addon/app-routing feature-request
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.