Redis Enterprise for Kubernetes supports several ways to route external traffic to your RedisEnterpriseCluster:
- Ingress controllers HAProxy and NGINX require an
- Istio requires
- OpenShift uses routes to route external traffic.
- The RedisEnterpriseActiveActiveDatabase (REAADB) requires any of the above routing methods to be configured in the RedisEnterpriseCluster (REC) with the
External routing using Redis Enterprise for Kubernetes
Every time a RedisEnterpriseDatabase (REDB), Redis Enterprise Active-Active database (REAADB), or Redis Enterprise cluster (REC) is created, the Redis Enterprise operator automatically creates a service to allow requests to be routed to that resource.
Redis Enterprise supports three types of services for accessing databases:
By default, the operator creates a
ClusterIP type service, which exposes a cluster-internal IP and that can only be accessed from within the K8s cluster. For requests to be routed from outside the K8s cluster, you need an Ingress (or route if you are using OpenShift). See kubernetes.io for more details on Ingress and Ingress controllers.
- To use NGINX or HAProxy Ingress controllers, see Ingress routing.
- To use OpenShift routes, see OpenShift routes.
- To use Istio as an Ingress controller, see Istio Ingress routing
ingressOrRouteSpec for Active-Active databases
Versions 6.4.2 or later of Redis Enterprise for Kubernetes include a feature for ingress configuration. The
ingressOrRouteSpec field is available in the RedisEnterpriseCluster spec to automatically create an Ingress (or route) for the API service and databases (REAADB) on that REC. See REC external routing for more details.
This feature only supports automatic Ingress creation for Active-Active databases created and managed with the RedisEnterpriseActiveActiveDatabase (REAADB) custom resource. Use with the standard Redis Enterprise database (REDB) is not currently supported.