Redis - in-memory DB and cache

 External access

By default external access to the Redis port isn't available. This is easily changed by applying the following YAML to your cluster with kubectl apply -f redis-service.yaml (or whatever you call the file containing the contents below):

apiVersion: v1
kind: Service
  name: redis
  type: LoadBalancer
    - port: 6379
      targetPort: 6379
      protocol: TCP
    app: redis

This will open up to the whole world. You should lock this down in the firewall automatically created in Civo for your Kubernetes cluster. Locking down the firewall will only affect access from OUTSIDE of your Kubernetes cluster, access from your applications within Kubernetes will not be affected.

Usage instructions

You can use this application from within your cluster by just using the hostname redis and the password above this message. For example, to connect to Redis inside your cluster to test it or look at its data, you could do something like this:

$ kubectl run tmp-shell --generator=run-pod/v1 --rm -i --tty \
  --image alpine -- /bin/sh
/ # apk update
/ # apk add redis
/ # redis-cli -h redis -a YOUR_PASSWORD_HERE

When you quit the shell the pod for this temporary Alpine container will be deleted.