Инжект ошибок — задержка istio
Добавить искусственную задержку для тестирования отказоустойчивости
# In VirtualService spec.http[].fault.delay
more istio
all 19 commands →
Зеркалирование трафика
# In VirtualService spec.http[].mirror
Удалить Istio
istioctl uninstall --purge -y
Маршрутизация трафика — VirtualService
kubectl apply -f - <<EOF
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: myapp
spec:
hosts:
- myapp
http:
- route:
- destination:
host: myapp
subset: v1
weight: 80
- destination:
host: myapp
subset: v2
weight: 20
EOF
Правила назначения — DestinationRule
kubectl apply -f - <<EOF
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: myapp
spec:
host: myapp
trafficPolicy:
outlierDetection:
consecutive5xxErrors: 5
interval: 10s
baseEjectionTime: 30s
subsets:
- name: v1
labels:
version: v1
- name: v2
labels:
version: v2
EOF
Инжект ошибок — задержка
kubectl apply -f - <<EOF
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: myapp
spec:
hosts:
- myapp
http:
- fault:
delay:
percentage:
value: 100
fixedDelay: 5s
route:
- destination:
host: myapp
EOF