Description
@rshriram @ZackButcher @kyessenov
Istio inherits its service registry from K8S, Consul etc but we want to be able to apply customized DestinationPolicy or RoutingRules to subsets of services. While in theory we can ask deployers to push more service declarations into a service registry this is likely to be cumbersome.
In particular we need to be able to model the following concepts:
-
Route traffic based on protocol or source metadata to a subset of endpoints within a service. Common use-case is routing to a specific version.
-
Attach custom destination policy (timeouts etc.) to a subset of endpoints within a service and then choose those endpoints with a routing rule
-
Create a weighting of traffic distribution among endpoints within a service. Common use-case is A/B testing & canarying
-
Create named 'shards' of a service for hard / soft routing affinity based on some hash of protocol information
It would also be desirable for subset names to be routable using SNI