Setup Outlier Detection for Upstream Hosts

OutlierDetection Plugin

Outlier Detection provides an ability to maintain a set of upstream hosts that should receive the traffic. Depending on host attributes, an upstream host can be removed.

OutlierDetection Filter Configuration

OutlierDetection filter configuration needs the following config

  • Consequtive 5xx - Number of consequitive 5xx that will result in host ejection
  • Enforcing Consequtive 5xx - The % chance the host is ejected. The default is 100%
  • Consequtive Gateway Failure - Number of consequtive gateway failures (502, 503, 504) that will result in host ejection
  • Enforcing Consequtive Gateway Failure - The % chance the host is ejected on consequtive gateway failure. The default is 100%
Outlier config for EnRoute Kubernetes Ingress Controller
---
apiVersion: enroute.saaras.io/v1
kind: RouteFilter
metadata:
  labels:
    app: helloenroute-service-app
  name: helloenroute-8080-outlierdetection
  namespace: hello-namespace
spec:
  name: helloenroute-8080-outlierdetection
  type: route_filter_outlierdetection
  routeFilterConfig:
    config: |
      {
        "consecutive_5xx" : 5,
        "enforcing_consecutive_5xx" : 75,
        "consecutive_gateway_failure" : 5,
        "enforcing_consecutive_gateway_failure" : 75
      }
---

Helm Chart Switch

This filter can be activated for a service by using the helm switch --set filter.outlierdetection.enable=true.