Skip to content
Open
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
2 changes: 1 addition & 1 deletion content/embeds/k8s/openshift_rec.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ spec:

redisEnterpriseImageSpec:
repository: registry.connect.redhat.com/redislabs/redis-enterprise
versionTag: 8.0.10-64
versionTag: 8.0.18-23
redisEnterpriseServicesRiggerImageSpec:
repository: registry.connect.redhat.com/redislabs/services-manager
bootstrapperImageSpec:
Expand Down
2 changes: 2 additions & 0 deletions content/embeds/k8s/openshift_role.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ rules:
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
Expand Down
2 changes: 2 additions & 0 deletions content/embeds/k8s/role.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ rules:
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
Expand Down
2 changes: 2 additions & 0 deletions content/operate/kubernetes/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ Redis Enterprise for Kubernetes provides all the enterprise features of Redis So

The Redis Enterprise operator simplifies deployment and management by providing custom resource definitions (CRDs) for Redis Enterprise clusters (REC) and databases (REDB). This approach enables GitOps workflows and Kubernetes-native operations.

Redis Enterprise for Kubernetes is compatible with [CNCF-conformant](https://www.cncf.io/training/certification/software-conformance/) Kubernetes platforms. The operator follows standard Kubernetes APIs and practices and is designed to run consistently across certified Kubernetes environments.

## Get started

Deploy Redis Enterprise on your Kubernetes cluster and create your first database.
Expand Down
2 changes: 1 addition & 1 deletion content/operate/kubernetes/architecture/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Redis Enterprise for Kubernetes gives you the speed and durability of [Redis Ent

## Lifecycle

Kubernetes is a rapidly evolving platform with a short release cycle (around 4 months). This frequent influx of new features, enhancements and bug fixes means Kubernetes distributions move in and out of support quickly. Redis Enterprise is also a fast-moving product, and is compatible and tested only on distributions listed as [supported distributions.]({{<relref "/operate/kubernetes/reference/supported_k8s_distributions">}})
Redis Enterprise for Kubernetes is compatible with [CNCF-conformant](https://www.cncf.io/training/certification/software-conformance/) Kubernetes platforms. The operator follows standard Kubernetes APIs and practices and is designed to run consistently across certified Kubernetes environments.

Each version of Redis Enterprise for Kubernetes is tested to ensure the version of Redis Enterprise works with the [supported Kubernetes distributions]({{<relref "/operate/kubernetes/reference/supported_k8s_distributions">}}) at the time. Both the Kubernetes version and the Redis Enterprise version must be supported for the operator to function correctly. We encourage you to upgrade Redis Enterprise for Kubernetes frequently, not only to get the benefit of enhancements and bug fixes, but to keep your software supported.

Expand Down
5 changes: 0 additions & 5 deletions content/operate/kubernetes/deployment/container-images.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,6 @@ Redis Enterprise custom resources.

The operator image also includes the admission controller, which runs as part of the operator container and provides validation for Redis Enterprise database resources.

In general, images for deployments that do not have a registry domain
name (e.g., `gcr.io` or `localhost:5000`) are pulled from the default registry associated
with the Kubernetes cluster. A plain reference to `redislabs/redis` will likely pull from DockerHub
(except on OpenShift where it pulls from Red Hat).

For security reasons (e.g., in air-gapped environments), you may want to pull the images
from a public registry once and then push them to a private registry under
your control.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Enabling external access for OSS Cluster API creates a separate LoadBalancer ser

## Prerequisites

- RedisEnterpriseCluster (REC) running version 8.0.10-tbd or later.
- RedisEnterpriseCluster (REC) running version 8.0.10-21 or later.
- Proxy policy is set to `all-master-shards` or `all-nodes`.
- Modules used by the database (if any) are bundled modules.
- The database is not an Active-Active database.
Expand Down

Large diffs are not rendered by default.

244 changes: 227 additions & 17 deletions content/operate/kubernetes/reference/api/redis_enterprise_cluster_api.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,13 @@ RedisEnterpriseDatabaseSpec defines the desired state of RedisEnterpriseDatabase
The Secrets containing TLS Client Certificate to use for Authentication<br/>
</td>
<td>false</td>
</tr><tr>
<td><a href="#specconnectionsettings">connectionSettings</a></td>
<td>object</td>
<td>
Connection-related settings such as proxy connections and scheduling policy.<br/>
</td>
<td>false</td>
</tr><tr>
<td>dataInternodeEncryption</td>
<td>boolean</td>
Expand Down Expand Up @@ -283,6 +290,13 @@ RedisEnterpriseDatabaseSpec defines the desired state of RedisEnterpriseDatabase
List of Redis Enteprise ACL and Role bindings to apply<br/>
</td>
<td>false</td>
</tr><tr>
<td>searchOnBigstore</td>
<td>boolean</td>
<td>
Enables search module indexing on flash storage for Redis Flex (v2) databases. Only applicable when isRof=true and Redis version >= 8.6. Defaults to false.<br/>
</td>
<td>false</td>
</tr><tr>
<td>shardCount</td>
<td>integer</td>
Expand Down Expand Up @@ -932,7 +946,14 @@ Target for automatic database backups.
<td>interval</td>
<td>integer</td>
<td>
Backup Interval in seconds<br/>
Backup Interval in seconds. Specifies the time interval in seconds at which periodic backup is performed.<br/>
</td>
<td>false</td>
</tr><tr>
<td>intervalOffset</td>
<td>integer</td>
<td>
Backup Interval Offset in seconds. Specifies a time offset in seconds at which the periodic backup job starts. This can only be used if the backup interval is 24 hours (86400 seconds) or 12 hours (43200 seconds). The offset is relative to 00:00 UTC for 24-hour mode, and 00:00 + 12:00 UTC for 12-hour mode. If not specified, a random starting time (offset) is automatically chosen. The offset must be less than the backup interval.<br/>
</td>
<td>false</td>
</tr><tr>
Expand Down Expand Up @@ -1123,6 +1144,13 @@ MountPointStorage
Amazon S3 bucket name.<br/>
</td>
<td>true</td>
</tr><tr>
<td>regionName</td>
<td>string</td>
<td>
Optional. Amazon S3 region name. If not specified, the region is auto-detected using a HEAD request to the bucket. For AWS GovCloud or other regions where auto-detection may not work, specify the region explicitly (e.g., "us-gov-east-1").<br/>
</td>
<td>false</td>
</tr><tr>
<td>subdir</td>
<td>string</td>
Expand Down Expand Up @@ -1212,6 +1240,63 @@ MountPointStorage
</table>


### spec.connectionSettings
<sup><sup>[↩ Parent](#spec)</sup></sup>

Connection-related settings such as proxy connections and scheduling policy.

<table>
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody><tr>
<td>connectionLimitType</td>
<td>enum</td>
<td>
Connections limit type.<br/>
<br/>
<i>Enum</i>: per-thread, per-shard<br/>
</td>
<td>false</td>
</tr><tr>
<td>connectionSchedulingPolicy</td>
<td>enum</td>
<td>
Controls how server-side connections are used when forwarding traffic to shards. Values: cmp: Closest to max_pipelined policy. Pick the connection with the most pipelined commands that has not reached the max_pipelined limit. mru: Try to use most recently used connections. spread: Try to use all connections. mnp: Minimal pipeline policy. Pick the connection with the least pipelined commands.<br/>
<br/>
<i>Enum</i>: cmp, mru, spread, mnp<br/>
</td>
<td>false</td>
</tr><tr>
<td>globalMaxDedicatedConnections</td>
<td>integer</td>
<td>
Defines the maximum number of dedicated server connections for a given database. The total number across all workers. The default is 0 for unlimited. Defaults to 0, which means unlimited.<br/>
</td>
<td>false</td>
</tr><tr>
<td>internalConnections</td>
<td>integer</td>
<td>
The number of internal proxy connections. Defaults to 5 if unspecified.<br/>
</td>
<td>false</td>
</tr><tr>
<td>minDedicatedConnections</td>
<td>integer</td>
<td>
Number of dedicated server connections the DMC has per worker per shard. Defaults to 2 if unspecified.<br/>
</td>
<td>false</td>
</tr></tbody>
</table>


### spec.modulesList[]
<sup><sup>[↩ Parent](#spec)</sup></sup>

Expand Down Expand Up @@ -1269,7 +1354,7 @@ Additional OSS cluster mode settings.
<td>enableExternalAccess</td>
<td>boolean</td>
<td>
Toggles whether this database supports external access in OSS cluster mode. When enabled, advertised database topology includes the external endpoints for the Redis Enterprise nodes hosting the database shards. The external access mechanism (e.g., LoadBalancer services) is configured via the ossClusterSettings.externalAccessType field of the RedisEnterpriseCluster. When external access is enabled, the corresponding database secret will have the list of primary shard IPs in the oss_startup_nodes field.<br/>
Toggles whether this database supports external access in OSS cluster mode. When enabled, advertised database topology includes the external endpoints for the Redis Enterprise nodes hosting the database shards. The external access mechanism (e.g., LoadBalancer services) is configured via the ossClusterSettings.externalAccessType field of the RedisEnterpriseCluster. When external access is enabled, the corresponding database secret will have the list of primary shard IPs in the oss_startup_nodes field. Currently enabling OSS cluster API in conjunction with external access is not supported for active active databases.<br/>
</td>
<td>false</td>
</tr></tbody>
Expand Down Expand Up @@ -1333,7 +1418,7 @@ Connection to the Redis Enterprise Cluster.
<td>clientKeySecret</td>
<td>string</td>
<td>
Secret that defines the client certificate and key used by the syncer in the target database cluster. The secret must have 2 keys in its map: "cert" which is the PEM encoded certificate, and "key" which is the PEM encoded private key.<br/>
Secret that defines the client certificate and key used by the syncer in the target database cluster. The secret must the following keys in it's data: - A key named 'cert'/'certificate'/'tls.crt' which is the PEM encoded certificate - A key named 'key'/'tls.key' which is the PEM encoded private key. - Optionally, a key named 'ca.crt', containing the public certificate of the root CA. If present, the root CA certificate is appended to the certificate provided in the 'tls.crt' (or equivalent) key, to form a full certificate chain. Otherwise, the certificate in 'cert'/'certificate'/'tls.crt' must include a full certificate chain inline. This key is typically populated by the cert-manager when it has access to the root certificate. Otherwise, it could be added manually.<br/>
</td>
<td>false</td>
</tr><tr>
Expand All @@ -1347,7 +1432,7 @@ Connection to the Redis Enterprise Cluster.
<td>serverCertSecret</td>
<td>string</td>
<td>
Secret that defines the server certificate used by the proxy in the source database cluster. The secret must have 1 key in its map: "cert" which is the PEM encoded certificate.<br/>
Secret that defines the server certificate used by the proxy in the source database cluster. The secret must have 1 key in its map named 'cert'/'certificate'/'tls.crt' which is the PEM encoded certificate.<br/>
</td>
<td>false</td>
</tr><tr>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ apiVersion:



RedisEntepriseRemoteCluster represents a remote participating cluster.
Represents a remote participating cluster.

<table>
<thead>
Expand Down Expand Up @@ -86,42 +86,42 @@ RedisEntepriseRemoteCluster represents a remote participating cluster.
<td>apiFqdnUrl</td>
<td>string</td>
<td>
The URL of the cluster, will be used for the active-active database URL.<br/>
URL of the cluster. Used for the Active-Active database URL.<br/>
</td>
<td>true</td>
</tr><tr>
<td>recName</td>
<td>string</td>
<td>
The name of the REC that the RERC is pointing at<br/>
Name of the REC that this RERC points to.<br/>
</td>
<td>true</td>
</tr><tr>
<td>recNamespace</td>
<td>string</td>
<td>
The namespace of the REC that the RERC is pointing at<br/>
Namespace of the REC that this RERC points to.<br/>
</td>
<td>true</td>
</tr><tr>
<td>apiPort</td>
<td>integer</td>
<td>
The port number of the cluster's URL used for connectivity/sync<br/>
Port number of the cluster's URL. Used for connectivity and synchronization.<br/>
</td>
<td>false</td>
</tr><tr>
<td>dbFqdnSuffix</td>
<td>string</td>
<td>
The database URL suffix, will be used for the active-active database replication endpoint and replication endpoint SNI.<br/>
Database URL suffix. Used for the Active-Active database replication endpoint and replication endpoint SNI.<br/>
</td>
<td>false</td>
</tr><tr>
<td>secretName</td>
<td>string</td>
<td>
The name of the secret containing cluster credentials. Must be of the following format: "redis-enterprise-<RERC name>"<br/>
Name of the secret containing cluster credentials. Must use the following format: "redis-enterprise-<RERC name>".<br/>
</td>
<td>false</td>
</tr></tbody>
Expand All @@ -146,35 +146,35 @@ RedisEntepriseRemoteCluster represents a remote participating cluster.
<td>internalObservedSecretResourceVersion</td>
<td>string</td>
<td>
The observed secret resource version. Used for internal purposes only.<br/>
Observed secret resource version. For internal use only.<br/>
</td>
<td>false</td>
</tr><tr>
<td>local</td>
<td>boolean</td>
<td>
Indicates whether this object represents a local or a remote cluster.<br/>
Indicates whether this object represents a local or remote cluster.<br/>
</td>
<td>false</td>
</tr><tr>
<td>observedGeneration</td>
<td>integer</td>
<td>
The most recent generation observed for this RERC. It corresponds to the RERC's generation, which is updated by the API Server.<br/>
Most recent generation observed for this RERC. Corresponds to the RERC's generation, which is updated by the API Server.<br/>
</td>
<td>false</td>
</tr><tr>
<td>specStatus</td>
<td>string</td>
<td>
Whether the desired specification is valid.<br/>
Indicates whether the desired specification is valid.<br/>
</td>
<td>false</td>
</tr><tr>
<td>status</td>
<td>string</td>
<td>
The status of the remote cluster.<br/>
Status of the remote cluster.<br/>
</td>
<td>false</td>
</tr></tbody>
Expand Down
Loading
Loading