- Use Case
- Log in →
- Node-RED OwnTracks location tracking without public IP/MQTT
- Secure webhooks to Jenkins on Kubernetes
- Remote YouTube downloader Slack bot
- Introducing WebSocket Server
- Rancher - push to deploy workflow with Keel
- Documenting your API with OpenAPI (Swagger) and Redoc
- Home Assistant remote access add-on
- Hassle-free remote access to Home Assistant on a Raspberry Pi
- How to receive Paypal webhooks on localhost
- DevOps Use Case: Performing Redis maintenance in Kubernetes
- Auto deploy your Node.js app on push to GitHub in 3 simple steps
- What is a webhook and how to create one?
- Mailgun webhook fan-out
- Web Relay Ingress with Docker for Mac
- How to receive Stripe webhooks on localhost
- Receive Github webhooks on Jenkins without public IP
- Keel - automated Kubernetes updates
- Introduction to Webhook Relay
DevOps Use Case: Performing Redis maintenance in Kubernetes
Jul 23, 2018, by Karolis Rusenas
Nowadays it’s easy to run pretty much anything in Kubernetes clusters. But what about debugging these services? What if you need to quickly access a service that is normally not exposed to the internet or your intranet and is only accessible from within the cluster? Your service is like:
In this short article, I will demonstrate how to connect to a running Redis instance with an excellent and powerful Redis Commander GUI.
- Deploy Webhook Relay ingress controller
- Deploy Redis Commander
- Access Redis Commander through Webhook Relay tunnel & debug your Redis node
- Kubernetes, you can either use an existing cluster that you have or use Minikube or Docker for Mac.
- Webhook Relay account, sign up here
- Webhook Relay CLI
Let’s deploy Redis (skip if you already have it running), from the cloned repository deploy it:
It will create:
- Redis deployment
- Service that will make Redis accessible within the cluster
Now, install our tunnel based ingress controller into your cluster:
- Creates a namespace
- Create an authentication secret for the ingress controller to use your account
- Deploy an actual ingress controller
You can check whether it’s running by:
redis-commander.yaml in your favorite code editor (mine is VSCode :) and edit several details.
If you are on a free tier, unfortunately, you won’t be able to choose a subdomain for your tunnel so you will need to create one first. Also, if you have chosen some different name for your Redis service, then update
REDIS_HOSTS environment variable.
To create a tunnel, run:
2p4ptkh9vutgm8tqavigja.webrelay.io into the last, ingress section and to replace
[REPLACE THIS WITH YOUR TUNNEL NAME]
Once you have finished editing, create it:
It should now be accessible from your browser:
Cool, yeah? Good luck with your other experiments!
To wrap up, the same strategy can be applied to other services like Prometheus or Grafana. You can create tunnels only when you need them, for example, while Grafana can always be connected, you would only want to have a look at Prometheus when you are not sure if service discovery is missing something or want to use raw queries.