Question: How to Expose Redis Kubernetes?


To expose Redis in Kubernetes, you need to create a Service resource. A Service is an abstraction for exposing applications running on a set of Pods. You can use the Redis Helm Chart for easier deployment and management.

Here's a step-by-step guide:

  1. Install Helm: If you haven't already, install Helm - a package manager for Kubernetes. Follow the official installation guide.

  2. Add Bitnami Repository: Add the Bitnami repository to your Helm CLI:

helm repo add bitnami
  1. Update repositories:
helm repo update
  1. Install Redis with Helm:
helm install my-redis bitnami/redis --set service.type=LoadBalancer

In this command, my-redis is the release name. You can replace it with your desired name. The flag --set service.type=LoadBalancer configures the Redis service to be exposed as a LoadBalancer type. This automatically provisions an external IP for accessing Redis.

  1. Retrieve the external IP:

Wait a few minutes until the external IP is allocated. Check the status with the following command:

kubectl get svc my-redis-master --namespace default -o jsonpath="{.status.loadBalancer.ingress[0].ip}"

Replace "my-redis" with the release name you used earlier. Once the IP address is available, you can use it to access your Redis instance.

  1. Get the Redis password:

To retrieve the Redis password, execute:

export REDIS_PASSWORD=$(kubectl get secret --namespace default my-redis-redis -o jsonpath="{.data.redis-password}" | base64 --decode)

Now you can access your Redis instance using the external IP and password.

Important: Exposing Redis to a public IP without any security measures is not recommended. Consider using Network Policies, authentication mechanisms, or creating private clusters for production scenarios.

Was this content helpful?

White Paper

Free System Design on AWS E-Book

Download this early release of O'Reilly's latest cloud infrastructure e-book: System Design on AWS.

Free System Design on AWS E-Book

Start building today

Dragonfly is fully compatible with the Redis ecosystem and requires no code changes to implement.