Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion content/operate/kubernetes/active-active/create-reaadb.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,12 @@ To create an Active-Active database, make sure you've completed all the followin
* Name of each REC (`<rec-name>`)
* Namespace for each REC (`<rec-namespace>`)

3. Configure the REC [`ingressOrRoutes` field](/content/operate/kubernetes/networking/ingressorroutespec.md) and [create DNS records](/content/operate/kubernetes/networking/ingressorroutespec.md#configure-dns/).
3. Configure the REC [`ingressOrRouteSpec` field](/content/operate/kubernetes/networking/ingressorroutespec.md) and [create DNS records](/content/operate/kubernetes/networking/ingressorroutespec.md#configure-dns/).
* REC API hostname (`api-<rec-name>-<rec-namespace>.<subdomain>`)
* Database hostname suffix (`.db-<rec-name>-<rec-namespace>.<subdomain>`)

To use the Kubernetes Gateway API instead, see [Expose Active-Active databases](/content/operate/kubernetes/networking/gateway-api.md#expose-active-active-databases).

4. [Prepare participating clusters](/content/operate/kubernetes/active-active/prepare-clusters.md)
* RERC name (`<rerc-name`>)
* RERC secret name (`redis-enterprise-<rerc-name>`)
Expand All @@ -50,6 +52,8 @@ Example RERC (`rerc-raegan`) for the REC named `rec-arlington` in the namespace

For more details on RERC fields, see the [RERC API reference](/content/operate/kubernetes/reference/api/redis_enterprise_remote_cluster_api.md).

If you use [Gateway API routing](/content/operate/kubernetes/networking/gateway-api.md#expose-active-active-databases), also set `replicationPort` in each RERC.

2. Create a Redis Enterprise remote cluster from each RERC custom resource file.

```sh
Expand Down
2 changes: 2 additions & 0 deletions content/operate/kubernetes/active-active/edit-clusters.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,8 @@ To communicate with other clusters, all participating clusters need access to th
secretName: redis-enterprise-rerc-logan
```

If your participating clusters use [Gateway API routing](/content/operate/kubernetes/networking/gateway-api.md#expose-active-active-databases), also set `replicationPort` in the RERC.

1. Create the RERC custom resource.

```sh
Expand Down
2 changes: 2 additions & 0 deletions content/operate/kubernetes/active-active/edit-rerc.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ kubectl patch rerc rerc-ohare --type merge --patch \
'{"spec":{"dbFqdnSuffix": ".example2-cluster-rec-chicago-ns-illinois.example.com"}}'
```

The `replicationPort` field, used for [Gateway API routing](/content/operate/kubernetes/networking/gateway-api.md#expose-active-active-databases), is an exception. Set it on every copy of the RERC, on every participating cluster, not only on the local RERC.

## Update RERC secret

If the credentials are changed or updated for a REC participating cluster, you need to manually edit the RERC secret and apply it to all participating clusters.
Expand Down
4 changes: 3 additions & 1 deletion content/operate/kubernetes/active-active/prepare-clusters.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,12 @@ Before you prepare your clusters to participate in an Active-Active database, ma
* Name of each REC (`<rec-name>`)
* Namespace for each REC (`<rec-namespace>`)

3. Configure the REC [`ingressOrRoutes` field](/content/operate/kubernetes/networking/ingressorroutespec.md) and [create DNS records](/content/operate/kubernetes/networking/ingressorroutespec.md#configure-dns/).
3. Configure the REC [`ingressOrRouteSpec` field](/content/operate/kubernetes/networking/ingressorroutespec.md) and [create DNS records](/content/operate/kubernetes/networking/ingressorroutespec.md#configure-dns/).
* REC API hostname (`api-<rec-name>-<rec-namespace>.<subdomain>`)
* Database hostname suffix (`.db-<rec-name>-<rec-namespace>.<subdomain>`)

To use the Kubernetes Gateway API instead, see [Expose Active-Active databases](/content/operate/kubernetes/networking/gateway-api.md#expose-active-active-databases). Gateway API routing also requires `replicationPort` in each RedisEnterpriseRemoteCluster (RERC).

Next you'll [collect credentials](#collect-rec-credentials) for your participating clusters and create secrets for the RedisEnterprsieRemoteCluster (RERC) to use.

For a list of example values used throughout this article, see the [Example values](#example-values) section.
Expand Down
3 changes: 2 additions & 1 deletion content/operate/kubernetes/architecture/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,9 @@ By default, Kubernetes doesn't allow you to access your Redis database from outs
- Ingress controllers [HAProxy](https://haproxy-ingress.github.io/) and [NGINX](https://kubernetes.github.io/ingress-nginx/) require an `ingress` API resource.
- [Istio](https://istio.io/latest/docs/setup/getting-started/) requires `Gateway` and `VirtualService` API resources.
- OpenShift uses [routes](/content/operate/kubernetes/networking/routes.md) to route external traffic.
- The [Kubernetes Gateway API](/content/operate/kubernetes/networking/gateway-api.md) uses `TLSRoute` resources that the operator attaches to a Gateway you own.

The [Active-Active databases](#active-active-databases) require one of above routing methods to be configured in the REC with the [ingressOrRouteSpec field](/content/operate/kubernetes/reference/api/redis_enterprise_cluster_api.md#specingressorroutespec).
The [Active-Active databases](#active-active-databases) require routing configured in the REC, either with the [ingressOrRouteSpec field](/content/operate/kubernetes/reference/api/redis_enterprise_cluster_api.md#specingressorroutespec) or with [Gateway API routing](/content/operate/kubernetes/networking/gateway-api.md).

## Services Rigger

Expand Down
3 changes: 2 additions & 1 deletion content/operate/kubernetes/networking/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,10 @@ Choose the appropriate method for your environment to enable external access:

## Automatic ingress configuration

For Active-Active databases, configure automatic ingress creation:
For Active-Active databases and the cluster API, the operator can create routes for you:

- [REC external routing](/content/operate/kubernetes/networking/ingressorroutespec.md) - Use `ingressOrRouteSpec` field in RedisEnterpriseCluster (REC) for automatic ingress creation
- [Gateway API routing](/content/operate/kubernetes/networking/gateway-api.md) - Use the `spec.gateway` field in the REC to attach `TLSRoute` resources to a Kubernetes Gateway that you own. Also exposes the Cluster Manager UI and metrics endpoints.

## `ingressOrRouteSpec` for Active-Active databases

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ auth <password>

## External database access

To access databases from outside the Kubernetes cluster, you need to configure external routing. Currently supported methods for external access are ingress controllers or OpenShift routes.
To access databases from outside the Kubernetes cluster, you need to configure external routing. Currently supported methods for external access are ingress controllers or OpenShift routes. Active-Active databases can also use [Gateway API routing](/content/operate/kubernetes/networking/gateway-api.md).

### Ingress controllers

Expand Down
Loading
Loading