You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Expectation is
HTTPRoute - should honour the weightage when routing the traffic to desired service for the communication happening through ClusterIP type Service.
Actual is
HTTPRoute - doesn't honour the weightage when routing the traffic to desired service. Its alway directing to the non-desired service. Even when weightage of desired service has 100% while the other has 0%
How can it be reproduced?
Create a Namespace and Label it for Linkerd Injection
Create one HTTPRoute with two backends(v2 service & v1 service) and one parentRef(v1 service) and set value of weight for the v2 service as 100%. route.yaml
Manikkumar1988
changed the title
HTTPRoute - Not honoring the "weight" when communication between pods through ClusterIP type Service.
HTTPRoute Weight Not Honored for Pod-to-Pod Communication via ClusterIP Service
Oct 28, 2024
Hey @Manikkumar1988! Can you show us the status on that HTTPRoute? kubectl get -n test-app httproute bb-route -o yaml? If you're finding that an HTTPRoute or GRPCRoute isn't working, that's always the first thing to check...
Thanks for the response, I have mentioned wrong port in the HTTPRoute thats why it wasn't working.
However in my actual, dev env cluster with buoyant image, still issue is reproducible.
:; kubectl exec -it -n test-app my-pod -c my-pod -- curl -vs sample-app-v1
* Trying 10.43.101.1:80...
* Connected to sample-app-v1 (10.43.101.1) port 80 (#0)
> GET / HTTP/1.1
> Host: sample-app-v1
> User-Agent: curl/7.88.1
> Accept: */*
>
< HTTP/1.1 200 OK
< x-app-name: http-echo
< x-app-version: 1.0.0
< date: Fri, 15 Nov 2024 20:42:07 GMT
< content-length: 14
< content-type: text/plain; charset=utf-8
<
Hello from v2
* Connection #0 to host sample-app-v1 left intact
As mentioned, if you encounter this in the future, please capture the route status as well as the output of linkerd diagnostics policy -n test-app svc/sample-app-v1 80.
What is the issue?
In minikube with latest linkerd installed,
Expectation is
HTTPRoute - should honour the weightage when routing the traffic to desired service for the communication happening through ClusterIP type Service.
Actual is
HTTPRoute - doesn't honour the weightage when routing the traffic to desired service. Its alway directing to the non-desired service. Even when weightage of desired service has 100% while the other has 0%
How can it be reproduced?
sample-app-v1.yaml
sample-app-v2.yaml
route.yaml
Run a nginx pod
kubectl run my-pod --image=nginx -n test-app
Run curl request to v1 service.
kubectl exec -it -n test-app my-pod -c my-pod -- curl -s -o - sample-app-v1
Expected:
Hello from v2
Actual:
Hello from v1
Logs, error output, etc
Expected:
Hello from v2
Actual:
Hello from v1
output of
linkerd check -o short
Environment
Kubernetes Version:
Client Version: v1.30.2
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.30.0
Cluster Version:
minikube version: v1.33.1
commit: 5883c09216182566a63dff4c326a6fc9ed2982ff
Host OS:
Mac Sonoma 14.5
Linkerd Version:
Client version: edge-24.10.4
Server version: edge-24.10.4
Possible solution
No response
Additional context
No response
Would you like to work on fixing this bug?
maybe
The text was updated successfully, but these errors were encountered: