Expose all Redis + Sentinel nodes outside the cluster
What we want
In our current VM configuration, each Redis instance (cache, ratelimiting, etc.) has three nodes using Redis Sentinel. This requires that clients (typically Rails, can also be Workhorse) know the address of each Sentinel node, and can route to the Redis nodes too: https://docs.gitlab.com/ee/administration/redis/replication_and_failover.html#example-configuration-for-the-gitlab-application
We want to be able to configure this for Kubernetes too. The wrinkle is that we need to make sure Redis is accessible outside the Kubernetes cluster:
- Our console nodes are still on VMs.
- We have multiple Kubernetes clusters in production.
- Possibly other use cases too.
Paths of Investigation
Quick summary of details updated: #1447 (comment 798341300)
Current status
With PR https://github.com/bitnami/charts/pull/8570 merged, we now have a path forward. We'll leverage our own usage of external-dns in combination with these updates to the helm chart to expose the Pods to outside of our clusters where our services can reach. We've proven this as a viable option with the work performed in tandem here: #1468 (closed)