Hello Everyone,
It is regarding Kong Ingress controller and upstream configuration for healthchecks- healthy/unhealthy stats.
During initial testing it is observed that upstream field unhealthy-interval is always 0 (i.e. healthchecks.active.unhealthy.interval ref: https://docs.konghq.com/1.3.x/admin-api/#create-upstream) when configured via declarative approach (i.e. Kong IC).
It is observed that similar fixes are made at fix(upstream) add missing healthchecks.active.unhealthy.interval field by hbagdi · Pull Request #7 · hbagdi/go-kong · GitHub
As a work around we can follow below approach/steps:
- create upstreams via declarative approach (Kong IC)
- update healthchecks.active.unhealthy.interval field (integer >=1 ) via kong-admin-api
Kindly suggest whether this is a right approach till we get a fix. Also help to understand whether this change is released in Kong-1.3 or planned to be released in future?
# FYI K8s deployment version:
Kong: 1.2
Kong Ingress Controller: 0.50
## Ref upstream fields form KongIC; Actual upstream configurations via kong-Ingress resource
upstream:
hash_fallback: none
hash_on: none
healthchecks:
active:
concurrency: 10
healthy:
http_statuses:
- 200
interval: 5
successes: 5
http_path: /health
timeout: 1
unhealthy:
http_failures: 5
http_statuses:
- 500
interval: 2
tcp_failures: 5
timeouts: 5
### Ref upstream fields form Kong admin API; details of '<<admin-api>>/upstream' configs via kong-manager admin api
{
"healthchecks": {
"active": {
"unhealthy": {
"http_statuses": [
500
],
"tcp_failures": 5,
"timeouts": 5,
"http_failures": 5,
"interval": 0
},
"type": "http",
"http_path": "/health",
"timeout": 1,
"healthy": {
"successes": 5,
"interval": 5,
"http_statuses": [
200
]
},
"concurrency": 10
}
}
}
Thanks,
Nitesh