Skip to content

Commit 548a7ee

Browse files
barik.abarik.a
authored andcommitted
added failure percent algo support for grpc-xds proxyless
1 parent 2565f61 commit 548a7ee

11 files changed

+1131
-345
lines changed

kubernetes/customresourcedefinitions.gen.yaml

Lines changed: 234 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

networking/v1alpha3/destination_rule.pb.go

Lines changed: 313 additions & 171 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

networking/v1alpha3/destination_rule.pb.html

Lines changed: 85 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

networking/v1alpha3/destination_rule.proto

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -946,6 +946,36 @@ message OutlierDetection {
946946
// disabled by setting it to 0%. The default is 0% as it's not typically
947947
// applicable in k8s environments with few pods per service.
948948
int32 min_health_percent = 5;
949+
950+
// FailurePercent Algorithm for Grpc-xds proxyless for deciding
951+
// if the host is an outlier or not.
952+
FailurePercentageEjection failure_percentage_ejection = 10;
953+
}
954+
955+
// Parameters for the failure percentage algorithm.
956+
// This algorithm ejects individual endpoints whose failure rate is greater than
957+
// some threshold, independently of any other endpoint
958+
message FailurePercentageEjection {
959+
// The failure percentage to use when determining failure percentage-based outlier detection. If
960+
// the failure percentage of a given address is greater than or equal to this value, it will be
961+
// ejected. Defaults to 85.
962+
google.protobuf.UInt32Value threshold = 1;
963+
964+
// The % chance that an address will be actually ejected when an outlier status is detected through
965+
// failure percentage statistics. This setting can be used to disable ejection or to ramp it up
966+
// slowly. Defaults to 100.
967+
google.protobuf.UInt32Value enforcement_percentage = 2;
968+
969+
// The minimum number of addresses in order to perform failure percentage-based ejection.
970+
// If the total number of addresses is less than this value, failure percentage-based
971+
// ejection will not be performed. Defaults to 5.
972+
google.protobuf.UInt32Value minimum_hosts = 3;
973+
974+
// The minimum number of total requests that must be collected in one interval (as defined by the
975+
// interval duration above) to perform failure percentage-based ejection for this address. If the
976+
// volume is lower than this setting, failure percentage-based ejection will not be performed for
977+
// this host. Defaults to 50.
978+
google.protobuf.UInt32Value request_volume = 4;
949979
}
950980

951981
// SSL/TLS related settings for upstream connections. See Envoy's [TLS

networking/v1alpha3/destination_rule_deepcopy.gen.go

Lines changed: 21 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

networking/v1alpha3/destination_rule_json.gen.go

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)