How to Fault Injection for redis

Redis is called in my app。

I need to implement fault injection for redis. What should I do?

For example, after my fault is injected, call redis to return 500.

If I recall correctly, redis does not use HTTP; it’s a custom protocol. I don’t believe Istio/Envoy have support for fault injection in the redis protocol, that’s only for HTTP.

Istio does not provide TCP fault injection, but I use traffic forwarding instead of fault injection.
Forward to unknown service…

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: redis-route
namespace: redis
spec:
hosts:

  • devops-redis.redis.svc.cluster.local
    tcp:
  • match:
    • port: 6379
      route:
    • destination:
      host: devops-redis-unknown.redis.svc.cluster.local
      port:
      number: 6379