Hello !
We are trying to understand some behavior of Kong DB-less mode.
We currently have :
- Amazon EKS 1.16
- Kong 2.0
- Kong Ingress Controller 0.8.1
- Flagger (Kubernetes Operator to automate Canary releases)
- Linkerd 2.7.1 (Service Mesh to enable Canary deployement in combination with Flagger)
- SM v1
- SM v2
Note : SM is our microservice
To deploy our application, we are using Helm.
We are deploying Kong and SM in 2 differents Helm releases.
Our SM chart contains everything (Deployment, Service …) + the Ingress declaration
Our use case :
- SM v1 deployed and we are sending traffic to our micro-service
- Update SM Helm release to have SM Helm v2.
At this point, we will have 2 versions of the micro-services, and the Ingress declaration hasn’t changed - Observe results
Our results :
Before the update, everything is fine, all requests are responding 200.
During the update, we have a small time window (~4-5 seconds) where we have errors
After that time window, everything is fine.
When we are reading the logs, we observe this in the logs :
Proxy logs: https://pastebin.com/3jRtBuC8
Ingress Controller logs: https://pastebin.com/z70DyHfE
This time window seems to correspond with the Kong configuration update.
My questions are :
- Have we understood correctly the behavior of Kong/Kong Ingress Controller ?
- Do we have this behavior because of the DB-less ?
- How to avoid it ?
Thanks in advance !