类 DestinationRuleOuterClass.OutlierDetection

  • 所有已实现的接口:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DestinationRuleOuterClass.OutlierDetectionOrBuilder, java.io.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
    另请参阅:
    序列化表格
    • 字段详细资料

      • serialVersionUID

        private static final long serialVersionUID
        另请参阅:
        常量字段值
      • CONSECUTIVE_ERRORS_FIELD_NUMBER

        public static final int CONSECUTIVE_ERRORS_FIELD_NUMBER
        另请参阅:
        常量字段值
      • consecutiveErrors_

        private int consecutiveErrors_
      • CONSECUTIVE_GATEWAY_ERRORS_FIELD_NUMBER

        public static final int CONSECUTIVE_GATEWAY_ERRORS_FIELD_NUMBER
        另请参阅:
        常量字段值
      • consecutiveGatewayErrors_

        private com.google.protobuf.UInt32Value consecutiveGatewayErrors_
      • CONSECUTIVE_5XX_ERRORS_FIELD_NUMBER

        public static final int CONSECUTIVE_5XX_ERRORS_FIELD_NUMBER
        另请参阅:
        常量字段值
      • consecutive5XxErrors_

        private com.google.protobuf.UInt32Value consecutive5XxErrors_
      • INTERVAL_FIELD_NUMBER

        public static final int INTERVAL_FIELD_NUMBER
        另请参阅:
        常量字段值
      • interval_

        private com.google.protobuf.Duration interval_
      • BASE_EJECTION_TIME_FIELD_NUMBER

        public static final int BASE_EJECTION_TIME_FIELD_NUMBER
        另请参阅:
        常量字段值
      • baseEjectionTime_

        private com.google.protobuf.Duration baseEjectionTime_
      • MAX_EJECTION_PERCENT_FIELD_NUMBER

        public static final int MAX_EJECTION_PERCENT_FIELD_NUMBER
        另请参阅:
        常量字段值
      • maxEjectionPercent_

        private int maxEjectionPercent_
      • MIN_HEALTH_PERCENT_FIELD_NUMBER

        public static final int MIN_HEALTH_PERCENT_FIELD_NUMBER
        另请参阅:
        常量字段值
      • minHealthPercent_

        private int minHealthPercent_
      • memoizedIsInitialized

        private byte memoizedIsInitialized
    • 构造器详细资料

      • OutlierDetection

        private OutlierDetection​(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)
      • OutlierDetection

        private OutlierDetection()
    • 方法详细资料

      • newInstance

        protected java.lang.Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        覆盖:
        newInstance 在类中 com.google.protobuf.GeneratedMessageV3
      • getUnknownFields

        public final com.google.protobuf.UnknownFieldSet getUnknownFields()
        指定者:
        getUnknownFields 在接口中 com.google.protobuf.MessageOrBuilder
        覆盖:
        getUnknownFields 在类中 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()
        已过时。
         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.
      • 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
      • 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 java.io.IOException
        指定者:
        writeTo 在接口中 com.google.protobuf.MessageLite
        覆盖:
        writeTo 在类中 com.google.protobuf.GeneratedMessageV3
        抛出:
        java.io.IOException
      • getSerializedSize

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

        public boolean equals​(java.lang.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​(java.nio.ByteBuffer data)
                                                                    throws com.google.protobuf.InvalidProtocolBufferException
        抛出:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DestinationRuleOuterClass.OutlierDetection parseFrom​(java.nio.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​(java.io.InputStream input,
                                                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                    throws java.io.IOException
        抛出:
        java.io.IOException
      • parseDelimitedFrom

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

        public static DestinationRuleOuterClass.OutlierDetection parseFrom​(com.google.protobuf.CodedInputStream input,
                                                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                    throws java.io.IOException
        抛出:
        java.io.IOException
      • 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