Skip to content

Commit 8303130

Browse files
docs: Redis Cluster announce endpoint guide for external access (#131)
Signed-off-by: Arnob Kumar Saha <arnob@appscode.com>
1 parent cdf56e0 commit 8303130

2 files changed

Lines changed: 24 additions & 1 deletion

File tree

docs/platform/guides/database-management/create-database/redis.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,33 @@ Select the topology under **Database Mode**. Three modes are available:
3232
| **Cluster** | **Master** count and **Replicas** per master. |
3333
| **Sentinel** | **Number of Replicas** and the referenced **Sentinel** instance. |
3434

35+
## Announce Redis Endpoints (Cluster Mode Only)
36+
37+
> **Important — required if you plan to expose a Cluster-mode Redis externally.** The default external endpoint (via **Expose via Gateway**, see [Additional Options](common-steps.md#6-additional-options)) is a single Kubernetes Service that load-balances across *all* pods in *all* shards. Redis Cluster clients don't work well with that: a client's request is only served correctly if the pod it happens to connect to owns the requested key's slot — otherwise Redis replies with a redirect to the internal pod IP, which the external client cannot reach and the connection times out.
38+
>
39+
> Toggling on **Announce Redis Endpoints** tells each Redis node to advertise its externally reachable address instead of its internal IP, so redirects point somewhere the client can actually connect to.
40+
41+
If **Database Mode** is **Cluster**, an **Announce Redis Endpoints ?** toggle appears below **Storage Size**. Turn it on to reveal the **Announce** panel:
42+
43+
![Announce Redis Endpoints toggle and Announce panel with Type and per-shard endpoints](../images/db-create/redis/announce.png)
44+
45+
| Field | Description |
46+
|---|---|
47+
| **Type** | How the endpoint is advertised to clients — `hostname` or `ip`. Ask your cluster administrator which one your externally reachable Redis endpoints use. |
48+
| **Shards** | One row per shard, in the same order the shards are provisioned (shard 0, shard 1, …). Each row's **Shard Endpoints** field takes a comma-separated list of the externally reachable endpoints for every node (master + replicas) in that shard. Use **+ Add new** to add a row if you have more shards than rows shown. |
49+
50+
The number of shard rows must match the **Shards** count you set above, and each row must list one endpoint per node in that shard (master + replicas).
51+
52+
Whatever the **Type** (`hostname` or `ip`), the values you enter must ultimately resolve to the envoy service's external IP. For `hostname`, point a DNS **A** or **CNAME** record at that IP; for `ip`, enter the envoy service's IP directly. When exposure is enabled, envoy opens a set of ports on its external IP — one per Redis pod — and clients reach each pod through its assigned port.
53+
54+
> **Note:** This only applies when you intend to connect to a **Cluster**-mode Redis from outside Kubernetes. If you only access it from within the cluster, or you're using **Standalone**/**Sentinel** mode, leave this off.
55+
56+
For the underlying mechanism, see the [Redis External Connections guide](https://kubedb.com/docs/v2026.6.19/guides/redis/external-connections/exposure/).
57+
3558
## Create a Redis Database
3659

3760
1. Open the wizard and select **Redis** — see [Getting Started](common-steps.md#1-getting-started) and [Select a Database Type](common-steps.md#2-select-a-database-type).
3861
1. Set the [namespace and name](common-steps.md#3-choose-namespace-and-name).
39-
1. Pick the database version and the **Database Mode** described above, then set the machine profile and storage — see [Configure the Database](common-steps.md#4-configure-the-database).
62+
1. Pick the database version and the **Database Mode** described above, then set the machine profile and storage — see [Configure the Database](common-steps.md#4-configure-the-database). For **Cluster** mode, configure [Announce Redis Endpoints](#announce-redis-endpoints-cluster-mode-only) if you'll expose it externally.
4063
1. Optionally configure [Advanced Configuration](common-steps.md#5-advanced-configuration) (labels, deletion policy, credentials, point-in-time recovery) and [Additional Options](common-steps.md#6-additional-options) (monitoring, backup, TLS, gateway).
4164
1. Click [**Deploy**](common-steps.md#7-deploy).
93.9 KB
Loading

0 commit comments

Comments
 (0)