类 DestinationRuleOuterClass.OutlierDetection

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
istio.networking.v1alpha3.DestinationRuleOuterClass.OutlierDetection
所有已实现的接口:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DestinationRuleOuterClass.OutlierDetectionOrBuilder, Serializable
封闭类:
DestinationRuleOuterClass

public static final class DestinationRuleOuterClass.OutlierDetection extends com.google.protobuf.GeneratedMessageV3 implements DestinationRuleOuterClass.OutlierDetectionOrBuilder
 A Circuit breaker implementation that tracks the status of each
 individual host in the upstream service.  Applicable to both HTTP and
 TCP services.  For HTTP services, hosts that continually return 5xx
 errors for API calls are ejected from the pool for a pre-defined period
 of time. For TCP services, connection timeouts or connection
 failures to a given host counts as an error when measuring the
 consecutive errors metric. See Envoy's [outlier
 detection](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/outlier)
 for more details.

 The following rule sets a connection pool size of 100 HTTP1 connections
 with no more than 10 req/connection to the "reviews" service. In addition,
 it sets a limit of 1000 concurrent HTTP2 requests and configures upstream
 hosts to be scanned every 5 mins so that any host that fails 7 consecutive
 times with a 502, 503, or 504 error code will be ejected for 15 minutes.

 {{<tabset category-name="example">}}
 {{<tab name="v1alpha3" category-value="v1alpha3">}}
 ```yaml
 apiVersion: networking.istio.io/v1alpha3
 kind: DestinationRule
 metadata:
   name: reviews-cb-policy
 spec:
   host: reviews.prod.svc.cluster.local
   trafficPolicy:
     connectionPool:
       tcp:
         maxConnections: 100
       http:
         http2MaxRequests: 1000
         maxRequestsPerConnection: 10
     outlierDetection:
       consecutiveErrors: 7
       interval: 5m
       baseEjectionTime: 15m
 ```
 {{</tab>}}

 {{<tab name="v1beta1" category-value="v1beta1">}}
 ```yaml
 apiVersion: networking.istio.io/v1beta1
 kind: DestinationRule
 metadata:
   name: reviews-cb-policy
 spec:
   host: reviews.prod.svc.cluster.local
   trafficPolicy:
     connectionPool:
       tcp:
         maxConnections: 100
       http:
         http2MaxRequests: 1000
         maxRequestsPerConnection: 10
     outlierDetection:
       consecutiveErrors: 7
       interval: 5m
       baseEjectionTime: 15m
 ```
 {{</tab>}}
 {{</tabset>}}

 
Protobuf type istio.networking.v1alpha3.OutlierDetection
另请参阅:
  • 字段详细资料

    • CONSECUTIVE_ERRORS_FIELD_NUMBER

      public static final int CONSECUTIVE_ERRORS_FIELD_NUMBER
      另请参阅:
    • CONSECUTIVE_GATEWAY_ERRORS_FIELD_NUMBER

      public static final int CONSECUTIVE_GATEWAY_ERRORS_FIELD_NUMBER
      另请参阅:
    • CONSECUTIVE_5XX_ERRORS_FIELD_NUMBER

      public static final int CONSECUTIVE_5XX_ERRORS_FIELD_NUMBER
      另请参阅:
    • INTERVAL_FIELD_NUMBER

      public static final int INTERVAL_FIELD_NUMBER
      另请参阅:
    • BASE_EJECTION_TIME_FIELD_NUMBER

      public static final int BASE_EJECTION_TIME_FIELD_NUMBER
      另请参阅:
    • MAX_EJECTION_PERCENT_FIELD_NUMBER

      public static final int MAX_EJECTION_PERCENT_FIELD_NUMBER
      另请参阅:
    • MIN_HEALTH_PERCENT_FIELD_NUMBER

      public static final int MIN_HEALTH_PERCENT_FIELD_NUMBER
      另请参阅:
  • 方法详细资料

    • newInstance

      protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
      覆盖:
      newInstance 在类中 com.google.protobuf.GeneratedMessageV3
    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
      指定者:
      internalGetFieldAccessorTable 在类中 com.google.protobuf.GeneratedMessageV3
    • getConsecutiveErrors

      @Deprecated public int getConsecutiveErrors()
      已过时。
      istio.networking.v1alpha3.OutlierDetection.consecutive_errors is deprecated. See networking/v1alpha3/destination_rule.proto;l=724
       Number of errors before a host is ejected from the connection
       pool. Defaults to 5. When the upstream host is accessed over HTTP, a
       502, 503, or 504 return code qualifies as an error. When the upstream host
       is accessed over an opaque TCP connection, connect timeouts and
       connection error/failure events qualify as an error.
       $hide_from_docs
       
      int32 consecutive_errors = 1 [deprecated = true];
      指定者:
      getConsecutiveErrors 在接口中 DestinationRuleOuterClass.OutlierDetectionOrBuilder
      返回:
      The consecutiveErrors.
    • hasConsecutiveGatewayErrors

      public boolean hasConsecutiveGatewayErrors()
       Number of gateway errors before a host is ejected from the connection pool.
       When the upstream host is accessed over HTTP, a 502, 503, or 504 return
       code qualifies as a gateway error. When the upstream host is accessed over
       an opaque TCP connection, connect timeouts and connection error/failure
       events qualify as a gateway error.
       This feature is disabled by default or when set to the value 0.
      
       Note that consecutive_gateway_errors and consecutive_5xx_errors can be
       used separately or together. Because the errors counted by
       consecutive_gateway_errors are also included in consecutive_5xx_errors,
       if the value of consecutive_gateway_errors is greater than or equal to
       the value of consecutive_5xx_errors, consecutive_gateway_errors will have
       no effect.
       
      .google.protobuf.UInt32Value consecutive_gateway_errors = 6;
      指定者:
      hasConsecutiveGatewayErrors 在接口中 DestinationRuleOuterClass.OutlierDetectionOrBuilder
      返回:
      Whether the consecutiveGatewayErrors field is set.
    • getConsecutiveGatewayErrors

      public com.google.protobuf.UInt32Value getConsecutiveGatewayErrors()
       Number of gateway errors before a host is ejected from the connection pool.
       When the upstream host is accessed over HTTP, a 502, 503, or 504 return
       code qualifies as a gateway error. When the upstream host is accessed over
       an opaque TCP connection, connect timeouts and connection error/failure
       events qualify as a gateway error.
       This feature is disabled by default or when set to the value 0.
      
       Note that consecutive_gateway_errors and consecutive_5xx_errors can be
       used separately or together. Because the errors counted by
       consecutive_gateway_errors are also included in consecutive_5xx_errors,
       if the value of consecutive_gateway_errors is greater than or equal to
       the value of consecutive_5xx_errors, consecutive_gateway_errors will have
       no effect.
       
      .google.protobuf.UInt32Value consecutive_gateway_errors = 6;
      指定者:
      getConsecutiveGatewayErrors 在接口中 DestinationRuleOuterClass.OutlierDetectionOrBuilder
      返回:
      The consecutiveGatewayErrors.
    • getConsecutiveGatewayErrorsOrBuilder

      public com.google.protobuf.UInt32ValueOrBuilder getConsecutiveGatewayErrorsOrBuilder()
       Number of gateway errors before a host is ejected from the connection pool.
       When the upstream host is accessed over HTTP, a 502, 503, or 504 return
       code qualifies as a gateway error. When the upstream host is accessed over
       an opaque TCP connection, connect timeouts and connection error/failure
       events qualify as a gateway error.
       This feature is disabled by default or when set to the value 0.
      
       Note that consecutive_gateway_errors and consecutive_5xx_errors can be
       used separately or together. Because the errors counted by
       consecutive_gateway_errors are also included in consecutive_5xx_errors,
       if the value of consecutive_gateway_errors is greater than or equal to
       the value of consecutive_5xx_errors, consecutive_gateway_errors will have
       no effect.
       
      .google.protobuf.UInt32Value consecutive_gateway_errors = 6;
      指定者:
      getConsecutiveGatewayErrorsOrBuilder 在接口中 DestinationRuleOuterClass.OutlierDetectionOrBuilder
    • hasConsecutive5XxErrors

      public boolean hasConsecutive5XxErrors()
       Number of 5xx errors before a host is ejected from the connection pool.
       When the upstream host is accessed over an opaque TCP connection, connect
       timeouts, connection error/failure and request failure events qualify as a
       5xx error.
       This feature defaults to 5 but can be disabled by setting the value to 0.
      
       Note that consecutive_gateway_errors and consecutive_5xx_errors can be
       used separately or together. Because the errors counted by
       consecutive_gateway_errors are also included in consecutive_5xx_errors,
       if the value of consecutive_gateway_errors is greater than or equal to
       the value of consecutive_5xx_errors, consecutive_gateway_errors will have
       no effect.
       
      .google.protobuf.UInt32Value consecutive_5xx_errors = 7;
      指定者:
      hasConsecutive5XxErrors 在接口中 DestinationRuleOuterClass.OutlierDetectionOrBuilder
      返回:
      Whether the consecutive5xxErrors field is set.
    • getConsecutive5XxErrors

      public com.google.protobuf.UInt32Value getConsecutive5XxErrors()
       Number of 5xx errors before a host is ejected from the connection pool.
       When the upstream host is accessed over an opaque TCP connection, connect
       timeouts, connection error/failure and request failure events qualify as a
       5xx error.
       This feature defaults to 5 but can be disabled by setting the value to 0.
      
       Note that consecutive_gateway_errors and consecutive_5xx_errors can be
       used separately or together. Because the errors counted by
       consecutive_gateway_errors are also included in consecutive_5xx_errors,
       if the value of consecutive_gateway_errors is greater than or equal to
       the value of consecutive_5xx_errors, consecutive_gateway_errors will have
       no effect.
       
      .google.protobuf.UInt32Value consecutive_5xx_errors = 7;
      指定者:
      getConsecutive5XxErrors 在接口中 DestinationRuleOuterClass.OutlierDetectionOrBuilder
      返回:
      The consecutive5xxErrors.
    • getConsecutive5XxErrorsOrBuilder

      public com.google.protobuf.UInt32ValueOrBuilder getConsecutive5XxErrorsOrBuilder()
       Number of 5xx errors before a host is ejected from the connection pool.
       When the upstream host is accessed over an opaque TCP connection, connect
       timeouts, connection error/failure and request failure events qualify as a
       5xx error.
       This feature defaults to 5 but can be disabled by setting the value to 0.
      
       Note that consecutive_gateway_errors and consecutive_5xx_errors can be
       used separately or together. Because the errors counted by
       consecutive_gateway_errors are also included in consecutive_5xx_errors,
       if the value of consecutive_gateway_errors is greater than or equal to
       the value of consecutive_5xx_errors, consecutive_gateway_errors will have
       no effect.
       
      .google.protobuf.UInt32Value consecutive_5xx_errors = 7;
      指定者:
      getConsecutive5XxErrorsOrBuilder 在接口中 DestinationRuleOuterClass.OutlierDetectionOrBuilder
    • hasInterval

      public boolean hasInterval()
       Time interval between ejection sweep analysis. format:
       1h/1m/1s/1ms. MUST BE >=1ms. Default is 10s.
       
      .google.protobuf.Duration interval = 2;
      指定者:
      hasInterval 在接口中 DestinationRuleOuterClass.OutlierDetectionOrBuilder
      返回:
      Whether the interval field is set.
    • getInterval

      public com.google.protobuf.Duration getInterval()
       Time interval between ejection sweep analysis. format:
       1h/1m/1s/1ms. MUST BE >=1ms. Default is 10s.
       
      .google.protobuf.Duration interval = 2;
      指定者:
      getInterval 在接口中 DestinationRuleOuterClass.OutlierDetectionOrBuilder
      返回:
      The interval.
    • getIntervalOrBuilder

      public com.google.protobuf.DurationOrBuilder getIntervalOrBuilder()
       Time interval between ejection sweep analysis. format:
       1h/1m/1s/1ms. MUST BE >=1ms. Default is 10s.
       
      .google.protobuf.Duration interval = 2;
      指定者:
      getIntervalOrBuilder 在接口中 DestinationRuleOuterClass.OutlierDetectionOrBuilder
    • hasBaseEjectionTime

      public boolean hasBaseEjectionTime()
       Minimum ejection duration. A host will remain ejected for a period
       equal to the product of minimum ejection duration and the number of
       times the host has been ejected. This technique allows the system to
       automatically increase the ejection period for unhealthy upstream
       servers. format: 1h/1m/1s/1ms. MUST BE >=1ms. Default is 30s.
       
      .google.protobuf.Duration base_ejection_time = 3;
      指定者:
      hasBaseEjectionTime 在接口中 DestinationRuleOuterClass.OutlierDetectionOrBuilder
      返回:
      Whether the baseEjectionTime field is set.
    • getBaseEjectionTime

      public com.google.protobuf.Duration getBaseEjectionTime()
       Minimum ejection duration. A host will remain ejected for a period
       equal to the product of minimum ejection duration and the number of
       times the host has been ejected. This technique allows the system to
       automatically increase the ejection period for unhealthy upstream
       servers. format: 1h/1m/1s/1ms. MUST BE >=1ms. Default is 30s.
       
      .google.protobuf.Duration base_ejection_time = 3;
      指定者:
      getBaseEjectionTime 在接口中 DestinationRuleOuterClass.OutlierDetectionOrBuilder
      返回:
      The baseEjectionTime.
    • getBaseEjectionTimeOrBuilder

      public com.google.protobuf.DurationOrBuilder getBaseEjectionTimeOrBuilder()
       Minimum ejection duration. A host will remain ejected for a period
       equal to the product of minimum ejection duration and the number of
       times the host has been ejected. This technique allows the system to
       automatically increase the ejection period for unhealthy upstream
       servers. format: 1h/1m/1s/1ms. MUST BE >=1ms. Default is 30s.
       
      .google.protobuf.Duration base_ejection_time = 3;
      指定者:
      getBaseEjectionTimeOrBuilder 在接口中 DestinationRuleOuterClass.OutlierDetectionOrBuilder
    • getMaxEjectionPercent

      public int getMaxEjectionPercent()
       Maximum % of hosts in the load balancing pool for the upstream
       service that can be ejected. Defaults to 10%.
       
      int32 max_ejection_percent = 4;
      指定者:
      getMaxEjectionPercent 在接口中 DestinationRuleOuterClass.OutlierDetectionOrBuilder
      返回:
      The maxEjectionPercent.
    • getMinHealthPercent

      public int getMinHealthPercent()
       Outlier detection will be enabled as long as the associated load balancing
       pool has at least min_health_percent hosts in healthy mode. When the
       percentage of healthy hosts in the load balancing pool drops below this
       threshold, outlier detection will be disabled and the proxy will load balance
       across all hosts in the pool (healthy and unhealthy). The threshold can be
       disabled by setting it to 0%. The default is 0% as it's not typically
       applicable in k8s environments with few pods per service.
       
      int32 min_health_percent = 5;
      指定者:
      getMinHealthPercent 在接口中 DestinationRuleOuterClass.OutlierDetectionOrBuilder
      返回:
      The minHealthPercent.
    • isInitialized

      public final boolean isInitialized()
      指定者:
      isInitialized 在接口中 com.google.protobuf.MessageLiteOrBuilder
      覆盖:
      isInitialized 在类中 com.google.protobuf.GeneratedMessageV3
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      指定者:
      writeTo 在接口中 com.google.protobuf.MessageLite
      覆盖:
      writeTo 在类中 com.google.protobuf.GeneratedMessageV3
      抛出:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      指定者:
      getSerializedSize 在接口中 com.google.protobuf.MessageLite
      覆盖:
      getSerializedSize 在类中 com.google.protobuf.GeneratedMessageV3
    • equals

      public boolean equals(Object obj)
      指定者:
      equals 在接口中 com.google.protobuf.Message
      覆盖:
      equals 在类中 com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      指定者:
      hashCode 在接口中 com.google.protobuf.Message
      覆盖:
      hashCode 在类中 com.google.protobuf.AbstractMessage
    • parseFrom

      public static DestinationRuleOuterClass.OutlierDetection parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      抛出:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static DestinationRuleOuterClass.OutlierDetection parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      抛出:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static DestinationRuleOuterClass.OutlierDetection parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      抛出:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static DestinationRuleOuterClass.OutlierDetection parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      抛出:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static DestinationRuleOuterClass.OutlierDetection parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      抛出:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static DestinationRuleOuterClass.OutlierDetection parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      抛出:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static DestinationRuleOuterClass.OutlierDetection parseFrom(InputStream input) throws IOException
      抛出:
      IOException
    • parseFrom

      public static DestinationRuleOuterClass.OutlierDetection parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      抛出:
      IOException
    • parseDelimitedFrom

      public static DestinationRuleOuterClass.OutlierDetection parseDelimitedFrom(InputStream input) throws IOException
      抛出:
      IOException
    • parseDelimitedFrom

      public static DestinationRuleOuterClass.OutlierDetection parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      抛出:
      IOException
    • parseFrom

      public static DestinationRuleOuterClass.OutlierDetection parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      抛出:
      IOException
    • parseFrom

      public static DestinationRuleOuterClass.OutlierDetection parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      抛出:
      IOException
    • newBuilderForType

      指定者:
      newBuilderForType 在接口中 com.google.protobuf.Message
      指定者:
      newBuilderForType 在接口中 com.google.protobuf.MessageLite
    • newBuilder

    • newBuilder

    • toBuilder

      指定者:
      toBuilder 在接口中 com.google.protobuf.Message
      指定者:
      toBuilder 在接口中 com.google.protobuf.MessageLite
    • newBuilderForType

      protected DestinationRuleOuterClass.OutlierDetection.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
      指定者:
      newBuilderForType 在类中 com.google.protobuf.GeneratedMessageV3
    • getDefaultInstance

      public static DestinationRuleOuterClass.OutlierDetection getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<DestinationRuleOuterClass.OutlierDetection> parser()
    • getParserForType

      public com.google.protobuf.Parser<DestinationRuleOuterClass.OutlierDetection> getParserForType()
      指定者:
      getParserForType 在接口中 com.google.protobuf.Message
      指定者:
      getParserForType 在接口中 com.google.protobuf.MessageLite
      覆盖:
      getParserForType 在类中 com.google.protobuf.GeneratedMessageV3
    • getDefaultInstanceForType

      public DestinationRuleOuterClass.OutlierDetection getDefaultInstanceForType()
      指定者:
      getDefaultInstanceForType 在接口中 com.google.protobuf.MessageLiteOrBuilder
      指定者:
      getDefaultInstanceForType 在接口中 com.google.protobuf.MessageOrBuilder