HttpRoute can split traffic between services in different namespaces.
kind: HTTPRoute
apiVersion: gateway.networking.k8s.io/v1
metadata:
name: argo-rollouts-http-route
namespace: infra
spec:
parentRefs:
- group: gateway.networking.k8s.io
kind: Gateway
name: kong
rules:
- matches:
- path:
type: PathPrefix
value: /fruits
backendRefs:
- name: bananas-echo
port: 1027
kind: Service
namespace: bananas
- name: apples-echo
port: 1027
kind: Service
namespace: apples
The Rollout with this config.
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: rollouts-demo
namespace: default
spec:
replicas: 10
strategy:
canary:
canaryService: bananas-echo # our created canary service
stableService: apples-echo # our created stable service
trafficRouting:
plugins:
argoproj-labs/gatewayAPI:
httpRoute: argo-rollouts-http-route # our created httproute
namespace: infra
I tried to run this but its not able to find the services, I am assuming it does not work because Argo Rollout by itself does not support multi namespace rollout. Is the assumption correct? 🤔