Hi,
Our use case in GKE is to implement the internal load balancing withing the cluster: if a service "A" calls service "B" via HTTPS, we would like to deploy the "B1" version ("canary") of "B", and make the cluster to route the traffic to either "B" or "B1", based on the value of a certain HTTP header.
[it's about internal traffice, not the traffic coming from the outside]
Once option is to use GKE Service Mesh.
However, looking at the Load Balancing section of the docs based on, it appears like the internal gateway (implementing K8S Gateway API spec) can handle such a problem.
This is a configuration from the Gateway API docs from the K8S site:
apiVersion: gateway.networking.k8s.io/v1beta1
kind: HTTPRoute
...
spec:
rules:
- matches:
- path:
value: "/foo"
headers:
- name: "version"
value: "2"
- path:
value: "/v2/foo"
If it get it right, it allows to route the internal traffic, based on the HTTP header.
So maybe Service Mesh is an "overkill" for the load balancing requirements we face?
Is it indeed possible to use the built-in gateway?
What are the things we need to consider before making the decision.
Thanks a lot.