diff --git a/kubernetes/customresourcedefinitions.gen.yaml b/kubernetes/customresourcedefinitions.gen.yaml
index f33186be6b2..000e8621683 100644
--- a/kubernetes/customresourcedefinitions.gen.yaml
+++ b/kubernetes/customresourcedefinitions.gen.yaml
@@ -541,6 +541,33 @@ spec:
failures before ejection occurs.
nullable: true
type: integer
+ failurePercentageEjection:
+ description: FailurePercent Algorithm for deciding if
+ the host is an outlier or not.
+ properties:
+ enforcementPercentage:
+ description: The % chance that an address will be
+ actually ejected when an outlier status is detected
+ through failure percentage statistics.
+ nullable: true
+ type: integer
+ minimumHosts:
+ description: The minimum number of addresses in
+ order to perform failure percentage-based ejection.
+ nullable: true
+ type: integer
+ requestVolume:
+ description: The minimum number of total requests
+ that must be collected in one interval to perform
+ failure percentage-based ejection for this address.
+ nullable: true
+ type: integer
+ threshold:
+ description: The failure percentage to use when
+ determining failure percentage-based outlier detection.
+ nullable: true
+ type: integer
+ type: object
interval:
description: Time interval between ejection sweep analysis.
type: string
@@ -559,6 +586,33 @@ spec:
description: Determines whether to distinguish local
origin failures from external errors.
type: boolean
+ successRateEjection:
+ description: SuccessRateEjection Algorithm for deciding
+ if the host is an outlier or not.
+ properties:
+ enforcementPercentage:
+ description: The % chance that an address will be
+ actually ejected when an outlier status is detected
+ through success rate statistics.
+ nullable: true
+ type: integer
+ minimumHosts:
+ description: The number of addresses that must have
+ enough request volume to detect success rate outliers.
+ nullable: true
+ type: integer
+ requestVolume:
+ description: The minimum number of total requests
+ that must be collected in one interval to include
+ this address in success rate based outlier detection.
+ nullable: true
+ type: integer
+ stdevFactor:
+ description: This factor is used to determine the
+ ejection threshold for success rate outlier ejection.
+ nullable: true
+ type: integer
+ type: object
type: object
portLevelSettings:
description: Traffic policies specific to individual ports.
@@ -831,6 +885,37 @@ spec:
originated failures before ejection occurs.
nullable: true
type: integer
+ failurePercentageEjection:
+ description: FailurePercent Algorithm for deciding
+ if the host is an outlier or not.
+ properties:
+ enforcementPercentage:
+ description: The % chance that an address
+ will be actually ejected when an outlier
+ status is detected through failure percentage
+ statistics.
+ nullable: true
+ type: integer
+ minimumHosts:
+ description: The minimum number of addresses
+ in order to perform failure percentage-based
+ ejection.
+ nullable: true
+ type: integer
+ requestVolume:
+ description: The minimum number of total requests
+ that must be collected in one interval to
+ perform failure percentage-based ejection
+ for this address.
+ nullable: true
+ type: integer
+ threshold:
+ description: The failure percentage to use
+ when determining failure percentage-based
+ outlier detection.
+ nullable: true
+ type: integer
+ type: object
interval:
description: Time interval between ejection sweep
analysis.
@@ -851,6 +936,37 @@ spec:
description: Determines whether to distinguish
local origin failures from external errors.
type: boolean
+ successRateEjection:
+ description: SuccessRateEjection Algorithm for
+ deciding if the host is an outlier or not.
+ properties:
+ enforcementPercentage:
+ description: The % chance that an address
+ will be actually ejected when an outlier
+ status is detected through success rate
+ statistics.
+ nullable: true
+ type: integer
+ minimumHosts:
+ description: The number of addresses that
+ must have enough request volume to detect
+ success rate outliers.
+ nullable: true
+ type: integer
+ requestVolume:
+ description: The minimum number of total requests
+ that must be collected in one interval to
+ include this address in success rate based
+ outlier detection.
+ nullable: true
+ type: integer
+ stdevFactor:
+ description: This factor is used to determine
+ the ejection threshold for success rate
+ outlier ejection.
+ nullable: true
+ type: integer
+ type: object
type: object
port:
description: Specifies the number of a port on the
@@ -1247,6 +1363,33 @@ spec:
failures before ejection occurs.
nullable: true
type: integer
+ failurePercentageEjection:
+ description: FailurePercent Algorithm for deciding if the
+ host is an outlier or not.
+ properties:
+ enforcementPercentage:
+ description: The % chance that an address will be actually
+ ejected when an outlier status is detected through failure
+ percentage statistics.
+ nullable: true
+ type: integer
+ minimumHosts:
+ description: The minimum number of addresses in order
+ to perform failure percentage-based ejection.
+ nullable: true
+ type: integer
+ requestVolume:
+ description: The minimum number of total requests that
+ must be collected in one interval to perform failure
+ percentage-based ejection for this address.
+ nullable: true
+ type: integer
+ threshold:
+ description: The failure percentage to use when determining
+ failure percentage-based outlier detection.
+ nullable: true
+ type: integer
+ type: object
interval:
description: Time interval between ejection sweep analysis.
type: string
@@ -1265,6 +1408,33 @@ spec:
description: Determines whether to distinguish local origin
failures from external errors.
type: boolean
+ successRateEjection:
+ description: SuccessRateEjection Algorithm for deciding if
+ the host is an outlier or not.
+ properties:
+ enforcementPercentage:
+ description: The % chance that an address will be actually
+ ejected when an outlier status is detected through success
+ rate statistics.
+ nullable: true
+ type: integer
+ minimumHosts:
+ description: The number of addresses that must have enough
+ request volume to detect success rate outliers.
+ nullable: true
+ type: integer
+ requestVolume:
+ description: The minimum number of total requests that
+ must be collected in one interval to include this address
+ in success rate based outlier detection.
+ nullable: true
+ type: integer
+ stdevFactor:
+ description: This factor is used to determine the ejection
+ threshold for success rate outlier ejection.
+ nullable: true
+ type: integer
+ type: object
type: object
portLevelSettings:
description: Traffic policies specific to individual ports.
@@ -1530,6 +1700,33 @@ spec:
failures before ejection occurs.
nullable: true
type: integer
+ failurePercentageEjection:
+ description: FailurePercent Algorithm for deciding if
+ the host is an outlier or not.
+ properties:
+ enforcementPercentage:
+ description: The % chance that an address will be
+ actually ejected when an outlier status is detected
+ through failure percentage statistics.
+ nullable: true
+ type: integer
+ minimumHosts:
+ description: The minimum number of addresses in
+ order to perform failure percentage-based ejection.
+ nullable: true
+ type: integer
+ requestVolume:
+ description: The minimum number of total requests
+ that must be collected in one interval to perform
+ failure percentage-based ejection for this address.
+ nullable: true
+ type: integer
+ threshold:
+ description: The failure percentage to use when
+ determining failure percentage-based outlier detection.
+ nullable: true
+ type: integer
+ type: object
interval:
description: Time interval between ejection sweep analysis.
type: string
@@ -1548,6 +1745,33 @@ spec:
description: Determines whether to distinguish local
origin failures from external errors.
type: boolean
+ successRateEjection:
+ description: SuccessRateEjection Algorithm for deciding
+ if the host is an outlier or not.
+ properties:
+ enforcementPercentage:
+ description: The % chance that an address will be
+ actually ejected when an outlier status is detected
+ through success rate statistics.
+ nullable: true
+ type: integer
+ minimumHosts:
+ description: The number of addresses that must have
+ enough request volume to detect success rate outliers.
+ nullable: true
+ type: integer
+ requestVolume:
+ description: The minimum number of total requests
+ that must be collected in one interval to include
+ this address in success rate based outlier detection.
+ nullable: true
+ type: integer
+ stdevFactor:
+ description: This factor is used to determine the
+ ejection threshold for success rate outlier ejection.
+ nullable: true
+ type: integer
+ type: object
type: object
port:
description: Specifies the number of a port on the destination
@@ -2008,6 +2232,33 @@ spec:
failures before ejection occurs.
nullable: true
type: integer
+ failurePercentageEjection:
+ description: FailurePercent Algorithm for deciding if
+ the host is an outlier or not.
+ properties:
+ enforcementPercentage:
+ description: The % chance that an address will be
+ actually ejected when an outlier status is detected
+ through failure percentage statistics.
+ nullable: true
+ type: integer
+ minimumHosts:
+ description: The minimum number of addresses in
+ order to perform failure percentage-based ejection.
+ nullable: true
+ type: integer
+ requestVolume:
+ description: The minimum number of total requests
+ that must be collected in one interval to perform
+ failure percentage-based ejection for this address.
+ nullable: true
+ type: integer
+ threshold:
+ description: The failure percentage to use when
+ determining failure percentage-based outlier detection.
+ nullable: true
+ type: integer
+ type: object
interval:
description: Time interval between ejection sweep analysis.
type: string
@@ -2026,6 +2277,33 @@ spec:
description: Determines whether to distinguish local
origin failures from external errors.
type: boolean
+ successRateEjection:
+ description: SuccessRateEjection Algorithm for deciding
+ if the host is an outlier or not.
+ properties:
+ enforcementPercentage:
+ description: The % chance that an address will be
+ actually ejected when an outlier status is detected
+ through success rate statistics.
+ nullable: true
+ type: integer
+ minimumHosts:
+ description: The number of addresses that must have
+ enough request volume to detect success rate outliers.
+ nullable: true
+ type: integer
+ requestVolume:
+ description: The minimum number of total requests
+ that must be collected in one interval to include
+ this address in success rate based outlier detection.
+ nullable: true
+ type: integer
+ stdevFactor:
+ description: This factor is used to determine the
+ ejection threshold for success rate outlier ejection.
+ nullable: true
+ type: integer
+ type: object
type: object
portLevelSettings:
description: Traffic policies specific to individual ports.
@@ -2298,6 +2576,37 @@ spec:
originated failures before ejection occurs.
nullable: true
type: integer
+ failurePercentageEjection:
+ description: FailurePercent Algorithm for deciding
+ if the host is an outlier or not.
+ properties:
+ enforcementPercentage:
+ description: The % chance that an address
+ will be actually ejected when an outlier
+ status is detected through failure percentage
+ statistics.
+ nullable: true
+ type: integer
+ minimumHosts:
+ description: The minimum number of addresses
+ in order to perform failure percentage-based
+ ejection.
+ nullable: true
+ type: integer
+ requestVolume:
+ description: The minimum number of total requests
+ that must be collected in one interval to
+ perform failure percentage-based ejection
+ for this address.
+ nullable: true
+ type: integer
+ threshold:
+ description: The failure percentage to use
+ when determining failure percentage-based
+ outlier detection.
+ nullable: true
+ type: integer
+ type: object
interval:
description: Time interval between ejection sweep
analysis.
@@ -2318,6 +2627,37 @@ spec:
description: Determines whether to distinguish
local origin failures from external errors.
type: boolean
+ successRateEjection:
+ description: SuccessRateEjection Algorithm for
+ deciding if the host is an outlier or not.
+ properties:
+ enforcementPercentage:
+ description: The % chance that an address
+ will be actually ejected when an outlier
+ status is detected through success rate
+ statistics.
+ nullable: true
+ type: integer
+ minimumHosts:
+ description: The number of addresses that
+ must have enough request volume to detect
+ success rate outliers.
+ nullable: true
+ type: integer
+ requestVolume:
+ description: The minimum number of total requests
+ that must be collected in one interval to
+ include this address in success rate based
+ outlier detection.
+ nullable: true
+ type: integer
+ stdevFactor:
+ description: This factor is used to determine
+ the ejection threshold for success rate
+ outlier ejection.
+ nullable: true
+ type: integer
+ type: object
type: object
port:
description: Specifies the number of a port on the
@@ -2714,6 +3054,33 @@ spec:
failures before ejection occurs.
nullable: true
type: integer
+ failurePercentageEjection:
+ description: FailurePercent Algorithm for deciding if the
+ host is an outlier or not.
+ properties:
+ enforcementPercentage:
+ description: The % chance that an address will be actually
+ ejected when an outlier status is detected through failure
+ percentage statistics.
+ nullable: true
+ type: integer
+ minimumHosts:
+ description: The minimum number of addresses in order
+ to perform failure percentage-based ejection.
+ nullable: true
+ type: integer
+ requestVolume:
+ description: The minimum number of total requests that
+ must be collected in one interval to perform failure
+ percentage-based ejection for this address.
+ nullable: true
+ type: integer
+ threshold:
+ description: The failure percentage to use when determining
+ failure percentage-based outlier detection.
+ nullable: true
+ type: integer
+ type: object
interval:
description: Time interval between ejection sweep analysis.
type: string
@@ -2732,6 +3099,33 @@ spec:
description: Determines whether to distinguish local origin
failures from external errors.
type: boolean
+ successRateEjection:
+ description: SuccessRateEjection Algorithm for deciding if
+ the host is an outlier or not.
+ properties:
+ enforcementPercentage:
+ description: The % chance that an address will be actually
+ ejected when an outlier status is detected through success
+ rate statistics.
+ nullable: true
+ type: integer
+ minimumHosts:
+ description: The number of addresses that must have enough
+ request volume to detect success rate outliers.
+ nullable: true
+ type: integer
+ requestVolume:
+ description: The minimum number of total requests that
+ must be collected in one interval to include this address
+ in success rate based outlier detection.
+ nullable: true
+ type: integer
+ stdevFactor:
+ description: This factor is used to determine the ejection
+ threshold for success rate outlier ejection.
+ nullable: true
+ type: integer
+ type: object
type: object
portLevelSettings:
description: Traffic policies specific to individual ports.
@@ -2997,6 +3391,33 @@ spec:
failures before ejection occurs.
nullable: true
type: integer
+ failurePercentageEjection:
+ description: FailurePercent Algorithm for deciding if
+ the host is an outlier or not.
+ properties:
+ enforcementPercentage:
+ description: The % chance that an address will be
+ actually ejected when an outlier status is detected
+ through failure percentage statistics.
+ nullable: true
+ type: integer
+ minimumHosts:
+ description: The minimum number of addresses in
+ order to perform failure percentage-based ejection.
+ nullable: true
+ type: integer
+ requestVolume:
+ description: The minimum number of total requests
+ that must be collected in one interval to perform
+ failure percentage-based ejection for this address.
+ nullable: true
+ type: integer
+ threshold:
+ description: The failure percentage to use when
+ determining failure percentage-based outlier detection.
+ nullable: true
+ type: integer
+ type: object
interval:
description: Time interval between ejection sweep analysis.
type: string
@@ -3015,6 +3436,33 @@ spec:
description: Determines whether to distinguish local
origin failures from external errors.
type: boolean
+ successRateEjection:
+ description: SuccessRateEjection Algorithm for deciding
+ if the host is an outlier or not.
+ properties:
+ enforcementPercentage:
+ description: The % chance that an address will be
+ actually ejected when an outlier status is detected
+ through success rate statistics.
+ nullable: true
+ type: integer
+ minimumHosts:
+ description: The number of addresses that must have
+ enough request volume to detect success rate outliers.
+ nullable: true
+ type: integer
+ requestVolume:
+ description: The minimum number of total requests
+ that must be collected in one interval to include
+ this address in success rate based outlier detection.
+ nullable: true
+ type: integer
+ stdevFactor:
+ description: This factor is used to determine the
+ ejection threshold for success rate outlier ejection.
+ nullable: true
+ type: integer
+ type: object
type: object
port:
description: Specifies the number of a port on the destination
diff --git a/networking/v1alpha3/destination_rule.pb.go b/networking/v1alpha3/destination_rule.pb.go
index ef263fe7027..c41075a91a5 100644
--- a/networking/v1alpha3/destination_rule.pb.go
+++ b/networking/v1alpha3/destination_rule.pb.go
@@ -477,7 +477,7 @@ func (x ClientTLSSettings_TLSmode) Number() protoreflect.EnumNumber {
// Deprecated: Use ClientTLSSettings_TLSmode.Descriptor instead.
func (ClientTLSSettings_TLSmode) EnumDescriptor() ([]byte, []int) {
- return file_networking_v1alpha3_destination_rule_proto_rawDescGZIP(), []int{6, 0}
+ return file_networking_v1alpha3_destination_rule_proto_rawDescGZIP(), []int{8, 0}
}
// DestinationRule defines policies that apply to traffic intended for a service
@@ -1338,6 +1338,10 @@ type OutlierDetection struct {
// disabled by setting it to 0%. The default is 0% as it's not typically
// applicable in k8s environments with few pods per service.
MinHealthPercent int32 `protobuf:"varint,5,opt,name=min_health_percent,json=minHealthPercent,proto3" json:"min_health_percent,omitempty"`
+ // FailurePercent Algorithm for deciding if the host is an outlier or not.
+ FailurePercentageEjection *FailurePercentageEjection `protobuf:"bytes,10,opt,name=failure_percentage_ejection,json=failurePercentageEjection,proto3" json:"failure_percentage_ejection,omitempty"`
+ // SuccessRateEjection Algorithm for deciding if the host is an outlier or not.
+ SuccessRateEjection *SuccessRateEjection `protobuf:"bytes,11,opt,name=success_rate_ejection,json=successRateEjection,proto3" json:"success_rate_ejection,omitempty"`
}
func (x *OutlierDetection) Reset() {
@@ -1436,6 +1440,201 @@ func (x *OutlierDetection) GetMinHealthPercent() int32 {
return 0
}
+func (x *OutlierDetection) GetFailurePercentageEjection() *FailurePercentageEjection {
+ if x != nil {
+ return x.FailurePercentageEjection
+ }
+ return nil
+}
+
+func (x *OutlierDetection) GetSuccessRateEjection() *SuccessRateEjection {
+ if x != nil {
+ return x.SuccessRateEjection
+ }
+ return nil
+}
+
+// Parameters for the failure percentage algorithm.
+// This algorithm ejects individual endpoints whose failure rate is greater than
+// some threshold, independently of any other endpoint
+// Defaults to values declared in envoy.config.cluster.v3.OutlierDetection.SuccessRateEjection
+type FailurePercentageEjection struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The failure percentage to use when determining failure percentage-based outlier detection. If
+ // the failure percentage of a given address is greater than or equal to this value, it will be
+ // ejected.
+ Threshold *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=threshold,proto3" json:"threshold,omitempty"`
+ // The % chance that an address will be actually ejected when an outlier status is detected through
+ // failure percentage statistics. This setting can be used to disable ejection or to ramp it up
+ // slowly.
+ EnforcementPercentage *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=enforcement_percentage,json=enforcementPercentage,proto3" json:"enforcement_percentage,omitempty"`
+ // The minimum number of addresses in order to perform failure percentage-based ejection.
+ // If the total number of addresses is less than this value, failure percentage-based
+ // ejection will not be performed.
+ MinimumHosts *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=minimum_hosts,json=minimumHosts,proto3" json:"minimum_hosts,omitempty"`
+ // The minimum number of total requests that must be collected in one interval
+ // to perform failure percentage-based ejection for this address. If the
+ // volume is lower than this setting, failure percentage-based ejection will not be performed for
+ // this host.
+ RequestVolume *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=request_volume,json=requestVolume,proto3" json:"request_volume,omitempty"`
+}
+
+func (x *FailurePercentageEjection) Reset() {
+ *x = FailurePercentageEjection{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FailurePercentageEjection) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FailurePercentageEjection) ProtoMessage() {}
+
+func (x *FailurePercentageEjection) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[6]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FailurePercentageEjection.ProtoReflect.Descriptor instead.
+func (*FailurePercentageEjection) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_destination_rule_proto_rawDescGZIP(), []int{6}
+}
+
+func (x *FailurePercentageEjection) GetThreshold() *wrappers.UInt32Value {
+ if x != nil {
+ return x.Threshold
+ }
+ return nil
+}
+
+func (x *FailurePercentageEjection) GetEnforcementPercentage() *wrappers.UInt32Value {
+ if x != nil {
+ return x.EnforcementPercentage
+ }
+ return nil
+}
+
+func (x *FailurePercentageEjection) GetMinimumHosts() *wrappers.UInt32Value {
+ if x != nil {
+ return x.MinimumHosts
+ }
+ return nil
+}
+
+func (x *FailurePercentageEjection) GetRequestVolume() *wrappers.UInt32Value {
+ if x != nil {
+ return x.RequestVolume
+ }
+ return nil
+}
+
+// Parameters for the success rate ejection algorithm.
+// This algorithm monitors the request success rate for all endpoints and
+// ejects individual endpoints whose success rates are statistical outliers.
+// Defaults to values declared in envoy.config.cluster.v3.OutlierDetection.SuccessRateEjection
+type SuccessRateEjection struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // This factor is used to determine the ejection threshold for success rate
+ // outlier ejection. The ejection threshold is the difference between the
+ // mean success rate, and the product of this factor and the standard
+ // deviation of the mean success rate: mean - (stdev *
+ // success_rate_stdev_factor). This factor is divided by a thousand to get a
+ // double. That is, if the desired factor is 1.9, the runtime value should
+ // be 1900.
+ StdevFactor *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=stdev_factor,json=stdevFactor,proto3" json:"stdev_factor,omitempty"`
+ // The % chance that an address will be actually ejected when an outlier status
+ // is detected through success rate statistics. This setting can be used to
+ // disable ejection or to ramp it up slowly.
+ EnforcementPercentage *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=enforcement_percentage,json=enforcementPercentage,proto3" json:"enforcement_percentage,omitempty"`
+ // The number of addresses that must have enough request volume to
+ // detect success rate outliers. If the number of addresses is less than this
+ // setting, outlier detection via success rate statistics is not performed
+ // for any addresses.
+ MinimumHosts *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=minimum_hosts,json=minimumHosts,proto3" json:"minimum_hosts,omitempty"`
+ // The minimum number of total requests that must be collected in one
+ // interval to include this address in success rate based outlier detection.
+ // If the volume is lower than this setting, outlier detection via success
+ // rate statistics is not performed for that address.
+ RequestVolume *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=request_volume,json=requestVolume,proto3" json:"request_volume,omitempty"`
+}
+
+func (x *SuccessRateEjection) Reset() {
+ *x = SuccessRateEjection{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[7]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SuccessRateEjection) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SuccessRateEjection) ProtoMessage() {}
+
+func (x *SuccessRateEjection) ProtoReflect() protoreflect.Message {
+ mi := &file_networking_v1alpha3_destination_rule_proto_msgTypes[7]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SuccessRateEjection.ProtoReflect.Descriptor instead.
+func (*SuccessRateEjection) Descriptor() ([]byte, []int) {
+ return file_networking_v1alpha3_destination_rule_proto_rawDescGZIP(), []int{7}
+}
+
+func (x *SuccessRateEjection) GetStdevFactor() *wrappers.UInt32Value {
+ if x != nil {
+ return x.StdevFactor
+ }
+ return nil
+}
+
+func (x *SuccessRateEjection) GetEnforcementPercentage() *wrappers.UInt32Value {
+ if x != nil {
+ return x.EnforcementPercentage
+ }
+ return nil
+}
+
+func (x *SuccessRateEjection) GetMinimumHosts() *wrappers.UInt32Value {
+ if x != nil {
+ return x.MinimumHosts
+ }
+ return nil
+}
+
+func (x *SuccessRateEjection) GetRequestVolume() *wrappers.UInt32Value {
+ if x != nil {
+ return x.RequestVolume
+ }
+ return nil
+}
+
// SSL/TLS related settings for upstream connections. See Envoy's [TLS
// context](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/tls/v3/common.proto.html#common-tls-configuration)
// for more details. These settings are common to both HTTP and TCP upstreams.
@@ -1444,7 +1643,7 @@ func (x *OutlierDetection) GetMinHealthPercent() int32 {
// for connections to upstream database cluster.
//
// {{DestinationRule
defines policies that apply to traffic intended for a
service after routing has occurred. These rules specify configuration
@@ -901,6 +901,179 @@ OutlierDetection
disabled by setting it to 0%. The default is 0% as it’s not typically
applicable in k8s environments with few pods per service.
failurePercentageEjection
FailurePercentageEjection
FailurePercent Algorithm for deciding if the host is an outlier or not.
+ +successRateEjection
SuccessRateEjection
SuccessRateEjection Algorithm for deciding if the host is an outlier or not.
+ +Parameters for the failure percentage algorithm. +This algorithm ejects individual endpoints whose failure rate is greater than +some threshold, independently of any other endpoint +Defaults to values declared in envoy.config.cluster.v3.OutlierDetection.SuccessRateEjection
+ + +Parameters for the success rate ejection algorithm. +This algorithm monitors the request success rate for all endpoints and +ejects individual endpoints whose success rates are statistical outliers. +Defaults to values declared in envoy.config.cluster.v3.OutlierDetection.SuccessRateEjection
+ +