Describe the bug
The application gateway stops working when a long domain name is used for an application. We have encountered the issue when using a domain name of 51 characters. Another domainname of 43 characters of the same deployment works fine. The exact minimum number of characters that breaks the Application Gateway has not been determined.
When the Application Gateway breaks, a psping on port 80 shows that the Application Gateway does not respond anymore. Browsers sessions report ERR_CONNECTION_TIMED_OUT. After a couple of minutes the Health Status in _Diagnose and solve problems_ changes to Unavailable. Removing the rules results in the Application Gateway working again. The configuration of the Application Gateway reflects the domain name in the rules created.
To Reproduce
Deploy an application with a domain name of 51 characters.
Ingress Controller details
kubectl describe <ingress controller>Name: ******-*****-ingress-azure-798c6d5676-wtw7b
Namespace: default
Priority: 0
PriorityClassName: <none>
Node: aks-agentpool-35064155-0/10.0.0.4
Start Time: Wed, 27 Mar 2019 10:39:02 +0100
Labels: aadpodidbinding=******-******-ingress-azure
app=ingress-azure
pod-template-hash=798c6d5676
release=******-******
Annotations: <none>
Status: Running
IP: 10.0.0.32
Controlled By: ReplicaSet/******-******-ingress-azure-798c6d5676
Containers:
ingress-azure:
Container ID: docker://8e374c0410611c52cc7482ced218fdbdc8ab9e33aa131e7ffee68085c8f459ae
Image: mcr.microsoft.com/azure-application-gateway/kubernetes-ingress:0.2.0
Image ID: docker-pullable://mcr.microsoft.com/azure-application-gateway/kubernetes-ingress@sha256:c8e7b9182e9c417bc6ac0470a3276f80314e78b0f752ffd70216f390fbd15f2d
Port: <none>
Host Port: <none>
State: Running
Started: Wed, 27 Mar 2019 10:39:05 +0100
Ready: True
Restart Count: 0
Environment Variables from:
******-******-cm-ingress-azure ConfigMap Optional: false
Environment:
KUBERNETES_PORT_443_TCP_ADDR: aks-********.hcp.westeurope.azmk8s.io
KUBERNETES_PORT: tcp://aks-********.hcp.westeurope.azmk8s.io:443
KUBERNETES_PORT_443_TCP: tcp://aks-********.hcp.westeurope.azmk8s.io:443
KUBERNETES_SERVICE_HOST: aks-********.hcp.westeurope.azmk8s.io
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from ******-******-sa-ingress-azure-token-c6bwp (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
******-******-sa-ingress-azure-token-c6bwp:
Type: Secret (a volume populated by a Secret)
SecretName: ******-******-sa-ingress-azure-token-c6bwp
Optional: false
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events: <none>
After doing some more research, this is not an issue with application-gateway-kubernetes-ingress. I entered the same configuration via the Azure Portal, which also resulted in the Application Gateway becoming unavailable. This should be checked/validated by the Application Gateway,
Yes, this is a bug in the Application Gateway (v2?) We have also encountered the bug,
which is related to the length of the rule name. We are already working with Microsoft Support to solve this.
Ok, I have a support case open on this as well. Please let me know if you have any updates.
This is a fix in AppGW v2. It is already committed and should be released next month.
Is this fixed when AppGW v2 goes GA?
Most helpful comment
This is a fix in AppGW v2. It is already committed and should be released next month.