HTTP Traffic Splitting
HTTP traffic splitting¶
In this usecase, we will understand the slightly more complex application method of HTTPRoute
.
You can implement the grayscale publishing of the application through HTTPRoute
, and smoothly transition traffic to new services.
See here for GatwayClass
and Gateway
definitions.
---
apiVersion: gateway.networking.k8s.io/v1beta1
kind: HTTPRoute
metadata:
name: myhttproute
spec:
parentRefs:
- name: mygateway
sectionName: http
hostnames:
- gateway.test.automation
rules:
- matches:
- path:
type: PathPrefix
value: /test1
backendRefs:
- name: coffee
port: 80
weight: 1
- name: tea
port: 80
weight: 9
- matches:
- path:
type: PathPrefix
value: /test2
backendRefs:
- name: coffee
port: 80
weight: 9
- name: tea
port: 80
weight: 1
Refer here for services tea
and coffee
definition.
In the above httproute
definition, we see that there are two rules:
- when we access /test1, 90% of the traffic is forwarded to the tea service
- when we access /test2, 90% of the traffic is forwarded to the coffee service
You may change the two ratios, and run kubectl apply -f httproute.yaml
again to achieve a change in the traffic ratio.
Last update: February 6, 2023 16:16:03
Created: February 6, 2023 16:16:03
Created: February 6, 2023 16:16:03