Hi,
First time testing a ECK deployment on Azure Kubernetes Service with the Application Gateway as an ingress controller. But somehow the health probes are unable to connect to the Kibana pod. There's no response.
If I do a test with a port forward, I'm able to login to Kibana. Also, the command 'curl http://localhost:5601/login' returns information.
For simplicity's sake I've deployed Elastic Search and Kibana with TLS disabled.
The Application Gateway health probe error:
Time taken by the backend to respond to application gateway's health probe is more than the time-out threshold in the probe configuration. Either increase the time-out threshold in the probe configuration or resolve the backend issues. Note: for default probe, the http timeout is 30s. To learn more visit - Troubleshoot backend health issues in Azure Application Gateway | Microsoft Learn.
The settings for the health probe:
Protocol: HTTP
Port: 5601
Path: /login
Interval: 10
Timeout: 5
Unhealthy Threshold: 3
I've tested the ingress with another application, and it works. So, the problem is not the AKS or the Application Gateway. Below are the YAML files:
apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
name: quickstart
spec:
version: 8.5.3
nodeSets:
- name: default
count: 1
config:
node.store.allow_mmap: false
http:
tls:
selfSignedCertificate:
disabled: true
---
apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
metadata:
name: quickstart
spec:
version: 8.5.3
count: 1
elasticsearchRef:
name: quickstart
http:
tls:
selfSignedCertificate:
disabled: true
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-kibana
annotations:
kubernetes.io/ingress.class: azure/application-gateway
appgw.ingress.kubernetes.io/use-private-ip: "true"
spec:
rules:
- http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: quickstart-kb-http
port:
number: 5601