Open jeffliu527 opened 3 years ago
Hello Any update for this issue? I got a similar problem to expose 2 canaries on one ingress resource. My situation: 1) 2 services deployed in two pods, for example, frontend backend 2) 1 ingress resource to expose these two service by virtual path, /fronted ---> frontend-svc /backend ---> backed-svc 3) enable canary release for both frontend and backend, but use one ingress and different svc
issue: During canary analysis {"level":"info","ts":"2023-02-14T08:48:48.246Z","caller":"controller/events.go:45","msg":"ingress xxxx update error Operation cannot be fulfilled on ingresses.networking.k8s.io \"xxx-canary\": the object has been modified; please apply your changes to the latest version and try again","canary":"xxx"}
No analysis --- keep update the ingress resource {"level":"info","ts":"2023-02-14T08:52:46.231Z","caller":"router/ingress.go:118","msg":"Ingress javaweb-alpha-canary updated","canary":"javaweb-alpha-int.cicd-test"} {"level":"info","ts":"2023-02-14T08:52:56.210Z","caller":"router/ingress.go:118","msg":"Ingress javaweb-alpha-canary updated","canary":"javaweb-beta-int.cicd-test"} {"level":"info","ts":"2023-02-14T08:53:06.222Z","caller":"router/ingress.go:118","msg":"Ingress javaweb-alpha-canary updated","canary":"javaweb-alpha-int.cicd-test"} {"level":"info","ts":"2023-02-14T08:53:16.243Z","caller":"router/ingress.go:118","msg":"Ingress javaweb-alpha-canary updated","canary":"javaweb-beta-int.cicd-test"} {"level":"info","ts":"2023-02-14T08:53:26.200Z","caller":"router/ingress.go:118","msg":"Ingress javaweb-alpha-canary updated","canary":"javaweb-alpha-int.cicd-test"
version: k8s 1.22.11 flux 0.25.11(source) flagger 1.26.0
@stefanprodan Any suggestion for this issue? or we can't use canary by this scenario, thanks a lot!
Bro, I'd like to use the same external domain for both frontend and backend app and also want to enable a/b testing feature for both apps, I followed the instructions per https://docs.flagger.app/faq#istio-ingress-gateway ,however, when I added same match conditions in the analysis section for both apps, the api request which should go to the backend went to frontend instead, please advise, thanks.
example yaml:
apiVersion: flagger.app/v1beta1 kind: Canary metadata: name: website spec: service: port: 8080 gateways:
name: load-test url: http://flagger-loadtester.test/ timeout: 15s metadata: cmd: "hey -z 1m -q 1 -c 1 -H 'user-agent: Firefox' http://website-canary/"
apiVersion: flagger.app/v1beta1 kind: Canary metadata: name: webapi spec: service: port: 8080 gateways: