appgw.ingress.kubernetes.io/request-timeout does not work

Anjana Silva 0 Reputation points
2025-03-11T10:05:47.61+00:00

I am using an Azure managed AKS and Appgateway setup. I am trying to increase the request timeout from "30" (which seems to be the default value) to "60". I have followed this document https://azure.github.io/application-gateway-kubernetes-ingress/annotations/ and added the following annotation line in my ingress file:

appgw.ingress.kubernetes.io/request-timeout: "60"

The top part of my ingresses looks like this

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: x.x.x.x.com
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/appgw-ssl-certificate: Dev-Portal
    appgw.ingress.kubernetes.io/rewrite-rule-set: Custom-Rule-SEt
    appgw.ingress.kubernetes.io/health-probe-hostname: x.x.x.x.com
    appgw.ingress.kubernetes.io/health-probe-path: /healthz
    appgw.ingress.kubernetes.io/request-timeout: "60"

However, this does not seem to take effect. Can you please help me ?

Thank you

Azure Kubernetes Service
Azure Kubernetes Service
An Azure service that provides serverless Kubernetes, an integrated continuous integration and continuous delivery experience, and enterprise-grade security and governance.
2,448 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Anonymous
    2025-03-12T11:04:47.59+00:00

    Hi Anjana Silva,

    It looks like AGIC is not applying the request timeout change. Here are the next steps to troubleshoot and resolve the issue:

    Revert the Annotation to a String Kubernetes annotations should always be strings. Change it back to:

    [appgw.ingress.kubernetes.io/request-timeout:] "60"

    Reapply the Ingress configuration:

    kubectl apply -f <your-ingress-file>.yaml

    Check AGIC Logs for Errors Run the following command to check if AGIC is processing the annotation correctly:

    kubectl logs -n kube-system -l app=ingress-azure

    Look for any warnings or errors related to request-timeout.

    Verify the Timeout in Application Gateway After reapplying, check if the timeout is reflected in Azure Portal → Application Gateway → HTTP Settings.

    If it still shows 30 seconds, the change might not have been propagated.

    Restart AGIC to Force Sync

    If AGIC is not picking up the changes, restart it:

    kubectl delete pod -n kube-system -l app=ingress-azure

    This forces AGIC to reconcile the configuration.

    Verify AGIC Permissions AGIC requires proper permissions to modify the Application Gateway. Verify that AGIC’s managed identity has the necessary Contributor or Application Gateway Contributor role on the resource.

    You can check this in Azure Portal → Application Gateway → Access control (IAM).

    If the issue persists, manually update the timeout in Application Gateway HTTP settings as a temporary workaround.

    If this answer is helpful do click Accept AnswerAnd, if you have any further query do let us know.

    Thank You.

    .

    1 person found this answer helpful.

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.