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.
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 !