Application-gateway-kubernetes-ingress: Setting request-timeout results in 502 - Bad Gateway

Created on 1 Nov 2019  路  6Comments  路  Source: Azure/application-gateway-kubernetes-ingress

Setting the request timeout by adding an annotation to my ingress.yaml will make the gatway report 502 - Bad Gateway.

To reproduce:
apply a yaml file such as this:

apiVersion: extensions/v1beta1
kind: Ingress

metadata:
  name: myingress
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/backend-path-prefix: "/"
    appgw.ingress.kubernetes.io/request-timeout: 40
spec:
  tls:
    - hosts:
        - somename.mydomain
      secretName: my-tls-secret-name
  rules:
    - host: somename.mydomain
      http:
        paths:
          - path: /myservice/*
            backend:
              serviceName: myservice
              servicePort: 80

Application gateway ingress controller Version:
mcr.microsoft.com/azure-application-gateway/kubernetes-ingress:0.7.1

Most helpful comment

No, we gave up and decided to use nginx instead of application gateway.

All 6 comments

@onybo Thanks for reporting the issue.
I see that you are using an older version of the ingress controller. Would mind updating it to 0.10.0. Here are instructions.

Can you check your AppGw's backend health on portal and see if Pods are marked healthy ?

The "instructions" assumes Helm and Tiller. Installing Tiller in the cluster is not an option for me. Are there any documentation on what needs to be changed between 0.7.1 and 0.10.0?

The backend health tab reports status "Healthy" for all my backend pools/Pods.
The details column behaves a bit strange though.
Sometimes it reads: "Success. Received 200 status code"
and sometimes it reads:
"The backend health status could not be retrieved. This happens when an NSG/UDR/Firewall on the application gateway subnet is blocking traffic on ports 65503-65534 in case of v1 SKU, and ports 65200-65535 in case of the v2 SKU. To learn more visit - https://aka.ms/UnknownBackendHealth"

But the status is "Healthy" regardless of the message in the "Details" column

@onybo Were you able to get past this issue ?

No, we gave up and decided to use nginx instead of application gateway.

I ran into this same issue. I'm working on it now and will report my findings here.

Did you find any solution for this?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Jawshua picture Jawshua  路  4Comments

pbalexlear picture pbalexlear  路  3Comments

marc-mueller picture marc-mueller  路  4Comments

andrewCluey picture andrewCluey  路  6Comments

niteenkole picture niteenkole  路  3Comments