Skip to content
This repository has been archived by the owner on Jun 14, 2018. It is now read-only.

Service/cluster/routing discovery component #3

Closed
kyessenov opened this issue Dec 10, 2016 · 8 comments
Closed

Service/cluster/routing discovery component #3

kyessenov opened this issue Dec 10, 2016 · 8 comments

Comments

@kyessenov
Copy link
Contributor

We need to provide an abstraction layer over the service network for the proxy configuration that can enumerate services and their IP endpoints and work cross-platform.

Although this information is not a user-provided intent but the platform-specific status, Manager should encapsulate this for Istio Proxy.

@rshriram rshriram changed the title Service discovery Service discovery component Dec 14, 2016
@rshriram
Copy link
Member

This component should be capable of being run as a separate service or as part of the Manager Service. For proxies that fetch service information remotely (e.g., Envoy), this component would provide a generic discovery API. For proxies that cannot fetch such information at runtime (e.g., Nginx, Haproxy), this component would generate the static configuration file containing the IP addresses per service.

@kyessenov
Copy link
Contributor Author

We should utilize SDS and/or CDS if the proxy provides this capability.
(see envoyproxy/envoy#144 (comment))

@rshriram
Copy link
Member

rshriram commented Dec 15, 2016 via email

@kyessenov kyessenov changed the title Service discovery component Service/cluster/routing discovery component Dec 21, 2016
@kyessenov
Copy link
Contributor Author

#29 addresses service registration side.
I realized there is a complication with multi-port services while implementing this.
We probably need multiple clusters for each named port in a service.

@kyessenov
Copy link
Contributor Author

#32 addresses the proxy static configuration.

@khgandhi
Copy link

@kyessenov is the service discovery component going to be part of the istio project that the envoy-istio proxy will be consuming ?

@kyessenov
Copy link
Contributor Author

Yes, that's correct. There are three pieces: SDS, envoy/istio proxy talking to SDS, envoy/istio proxy agent (responsible for reloading configs).

@khgandhi
Copy link

Cool.. It would great if you could point me to any code/design documentation related to the SDS.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants