istio / istio/api

Support of OutlierDetection in DestinationRule for Grpc-Proxyless

Open
#3,001 0 comments 2 reactions 0 assignees View on GitHub
area/networking area/user experience kind/docs kind/enhancement
Dominant language
Go
Stars
519
Forks
612
Avg merge
18h 35m
Merged PRs (30d)
23

Description

**Describe the feature request**
istio grpc-proxyless support for outlierDetection

Currently istio supports outlierDetection feature for only envoy proxy and being one of the performant features of istio which we to use in our production setup, but this feature is not supported for grpc-xds proxyless setup.

Grpc-xds supports only 2 algorithms [xds-grfc](https://github.com/grpc/proposal/blob/master/A50-xds-outlier-detection.md)

Failure Percent
Success Rate
Envoy's [outlierDetection](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/outlier#outlier-detection) also the algorithm support but istio does not provide any way to configure these. In order to unblock we tried to use EnvoyFilter to configure those algorithm parameters. We were able to do this in presence of sidecar Envoy proxy as istio does provide the patching of EnvoyFilterConfig over the [clusterConfig](https://github.com/istio/istio/blob/141104caec71593378094d789a47e1da7979b57b/pilot/pkg/networking/core/v1alpha3/cluster_builder.go), but this patching was not provider for [grpc-proxyless](https://github.com/istio/istio/blob/141104caec71593378094d789a47e1da7979b57b/pilot/pkg/networking/grpcgen/cds.go)

hence a better solution would be if istio supports OutlierDetection for grpc-proxyless where we wont need to patch envoyFilter config as a workaround and configure outlierDetection from DestinationRule itself.

Describe alternatives you've considered
As an alternative we tried to use EnvoyFilter which patched the its config along the clusterConfig generated after applying destinationRule.
discussion mention here : https://github.com/istio/istio/issues/47927
**Describe alternatives you've considered**

**Affected product area (please put an X in all that apply)**

[ ] Configuration Infrastructure
[x] Docs
[ ] Installation
[x] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[x] User Experience

**Additional context**

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.