I have a simple use case; I have 4 Microservices lets say service-a, service-b, service-c, service-d.
For the purpose of testing, I want to split traffic based on weight like
- 40% to service-a
- 20% to service-b
- 10% to service-c
- 30% to service-d
Considering they will be accessed over same path: example.com/
I am planinng to go with NGINX Ingress Controller but I saw a limitation on documentation: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#canary
Currently a maximum of one canary ingress can be applied per Ingress rule.
There is a GitHub issue too related to the same: https://github.com/kubernetes/ingress-nginx/issues/5848
I am not able to understand what does this actually mean and will this limitation not allow me implement with 4 services. Does that mean I have to create 4 canary ingress with single ingress rule for all 4 services? All the example for traffic splitting using ingress controller is of 2 services. should I consider Istio as it does not have this limitation
Can someone please explain me with simple yaml code example about this limitation?