下载本书所使用的示例代码后,切换到目录traffic-policy/circuitbreaking下可以查看所有相关的代码文件。
启动service1示例应用,这个应用将会作为本任务的后端服务。

图6-5 异常检测原理
表6-8 异常检测的设置

运行以下命令:
kubectl create namespace cb kubectl label namespace cb istio-injection=enabled kubectl apply -n cb -f app.yaml
创建一个目标规则,针对service1服务设置熔断器,具体参见代码文件destimationrule.yaml:
kubectl apply -n cb -f - <<EOF
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: service1
spec:
host: service1
trafficPolicy:
connectionPool:
tcp:
maxConnections: 1
http:
http1MaxPendingRequests: 1
maxRequestsPerConnection: 1
outlierDetection:
consecutiveErrors: 1
interval: 1s
baseEjectionTime: 3m
maxEjectionPercent: 100
EOF