Closed idouba closed 5 years ago
@spencergibb @salaboy Any comments?
You can certainly not use ribbon. There is no requirement.
@spencergibb Thanks. What's is SC‘s’ officially recommended solution to integrate Istio's data plane envoy? For SC dev(or ops), they do NOT need modify their code. The main idea may looks like this:
I mean, not including ribbon and using dns names should just work.
@idouba I remember that I got that working by just adding "http:" to the prefix instead of using "lb" that try to use ribbon. Can you check what is the prefix that you are using>?
If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.
Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.
Ribbon get service and ServiceInstance and select a target IP to forward a request to service instance. In case of kubernetes, it is like just replace discovery client from eureka to k8s, and get service instance list from kube-apiserver instead of eureka server. Thus ribbon interpret service name to podIp and send the request.
As for Istio, client side load-balancing should be provided by Envoy, which can do load-balancing for app besides SC based ones. In case of Istio&SpringCloud,it seems that ribbon should be disabled, and use service name directly, that is set the service name in HTTP Host: header will be ok. Is there a recommend config or annotation to do that safely . And spring-cloud-kubernetes-istio is introduced a istio-client to interact with Istio APIs enabling us to discover traffic rules, not what requirement described before.