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
4 changes: 2 additions & 2 deletions content/operate/kubernetes/7.22/architecture/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Supported platforms are listed in the [release notes](/content/operate/kubernete

The image below illustrates the components of a single namespace, three node deployment.

{{< image filename="/images/k8s/k8s-arch-v4.png" >}}
![](/images/k8s/k8s-arch-v4.png)

## Operator

Expand Down Expand Up @@ -67,7 +67,7 @@ For settings managed by the operator, any changes made outside of the CR YAML fi

A Redis Enterprise cluster is a set of Redis Enterprise nodes pooling resources. Each node is capable of running multiple Redis instances ([shards](/content/operate/rs/references/terminology.md)).

{{< image filename="/images/k8s/k8s-node-arch.png">}}
![](/images/k8s/k8s-node-arch.png)

A Redis cluster is created and managed by the [RedisEnterpriseCluster (REC)](/content/operate/kubernetes/7.22/reference/api/redis_enterprise_cluster_api.md) [custom resource](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/). Changes to the REC configuration file prompt the operator to make changes to the cluster. The REC is required for both standard databases ([REDB](#redisenterprisedatabase-redb)) and Active-Active databases ([REAADB](#redisenterpriseactiveactivedatabase-reaadb)).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@ The Redis Enterprise cluster (REC) custom resource must reside in the same names

The standard and simplest deployment deploys your Redis Enterprise databases (REDB) in the same namespace as the Redis Enterprise cluster (REC). No additional configuration is required for this, since there is no communication required to cross namespaces. See [Deploy Redis Enterprise for Kubernetes](/content/operate/kubernetes/7.22/deployment/quick-start.md).

{{< image filename="/images/k8s/k8s-deploy-one-to-one.png" >}}
![](/images/k8s/k8s-deploy-one-to-one.png)

## Single REC and multiple namespaces (one-to-many)

Multiple Redis Enterprise databases (REDB) spread across multiple namespaces within the same K8s cluster can be associated with the same Redis Enterprise cluster (REC). See [Manage databases in multiple namespaces](/content/operate/kubernetes/7.22/re-clusters/multi-namespace.md) for more information.

{{< image filename="/images/k8s/k8s-deploy-one-to-many.png" >}}
![](/images/k8s/k8s-deploy-one-to-many.png)

## Multiple RECs and multiple namespaces (many-to-many)

Expand All @@ -39,18 +39,18 @@ You have the flexibility to create databases in separate namespaces, or in the s
See [Manage databases in multiple namespaces](/content/operate/kubernetes/7.22/re-clusters/multi-namespace.md) for more information.


{{< image filename="/images/k8s/k8s-deploy-many-to-many-new.png" >}}
![](/images/k8s/k8s-deploy-many-to-many-new.png)

## Unsupported deployment patterns

### Cross-cluster operations

Redis Enterprise for Kubernetes does not support operations that cross Kubernetes clusters. Redis Enterprise clusters (REC) work inside a single K8s cluster. Crossing clusters could result in functional and security issues.

{{< image filename="/images/k8s/k8s-deploy-cross-namespaces.png" >}}
![](/images/k8s/k8s-deploy-cross-namespaces.png)

### Multiple RECs in one namespace

Redis Enterprise for Kubernetes does not support multiple Redis Enterprise clusters (REC) in the same namespace. Creating more than one REC in the same namespace will result in errors.

{{< image filename="/images/k8s/k8s-deploy-multicluster-antipattern.png" >}}
![](/images/k8s/k8s-deploy-multicluster-antipattern.png)
8 changes: 4 additions & 4 deletions content/operate/kubernetes/7.4.6/architecture/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,19 +21,19 @@ Kubernetes is an excellent orchestration tool, but it was not designed to deal w

To overcome these issues, Redis created a layered architecture approach that splits responsibilities between operations Kubernetes does well, procedures Redis Enterprise Cluster excels at, and the processes both can orchestrate together. The figure below illustrated this layered orchestration architecture:

{{< image filename="/images/k8s/kubernetes-overview-layered-orchestration.png" >}}
![](/images/k8s/kubernetes-overview-layered-orchestration.png)

## Operator based deployment

Operator allows Redis to maintain a unified deployment solution across various Kubernetes environments, i.e., RedHat OpenShift, VMware Tanzu (Tanzu Kubernetes Grid, and Tanzu Kubernetes Grid Integrated Edition, formerly known as PKS), Google Kubernetes Engine (GKE), Azure Kubernetes Service (AKS), and vanilla (upstream) Kubernetes. Statefulset and anti-affinity guarantee that each Redis Enterprise node resides on a Pod that is hosted on a different VM or physical server. See this setup shown in the figure below:

{{< image filename="/images/k8s/kubernetes-overview-unified-deployment.png" >}}
![](/images/k8s/kubernetes-overview-unified-deployment.png)

## Network-attached persistent storage {#networkattached-persistent-storage}

Kubernetes and cloud-native environments require that storage volumes be network-attached to the compute instances, to guarantee data durability. Otherwise, if using local storage, data may be lost in a Pod failure event. See the figure below:

{{< image filename="/images/k8s/kubernetes-overview-network-attached-persistent-storage.png" >}}
![](/images/k8s/kubernetes-overview-network-attached-persistent-storage.png)

On the left-hand side (marked #1), Redis Enterprise uses local ephemeral storage for durability. When a Pod fails, Kubernetes launches another Pod as a replacement, but this Pod comes up with empty local ephemeral storage, and the data from the original Pod is now lost.

Expand All @@ -47,4 +47,4 @@ Redis Enterprise is not only great as an in-memory database but also extremely e

Each Pod includes multiple Redis Enterprise instances (multiple services). We found that the traditional method of deploying a Redis Enterprise database over Kubernetes, in which each Pod includes only a single Redis Enterprise instance while preserving a dedicated CPU, is notably inefficient. Redis Enterprise is exceptionally fast and in many cases can use just a fraction of the CPU resources to deliver the requested throughput. Furthermore, when running a Redis Enterprise Cluster with multiple Redis Enterprise instances across multiple Pods, the Kubernetes network, with its multiple vSwitches, can quickly become the deployment鈥檚 bottleneck. Therefore, Redis took a different approach to managing Redis Enterprise over the Kubernetes environment. Deploying multiple Redis Enterprise database instances on a single Pod allows us to better utilize the hardware resources used by the Pod such as CPU, memory, and network while keeping the same level of isolation. See the figure below:

{{< image filename="/images/k8s/kubernetes-overview-multiple-services-per-pod.png" >}}
![](/images/k8s/kubernetes-overview-multiple-services-per-pod.png)
2 changes: 1 addition & 1 deletion content/operate/kubernetes/7.4.6/architecture/operator.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,4 +69,4 @@ The operator creates the following resources:
The following diagram shows the high-level architecture of the Redis
Enterprise operator:

{{< image filename="/images/k8s/k8-high-level-architecture-diagram-of-redis-enterprise.png" >}}
![](/images/k8s/k8-high-level-architecture-diagram-of-redis-enterprise.png)
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,13 @@ The Redis Enterprise cluster (REC) custom resource must reside in the same names

The standard and simplest deployment deploys your Redis Enterprise databases (REDB) in the same namespace as the Redis Enterprise cluster (REC). No additional configuration is required for this, since there is no communication required to cross namespaces. See [Deploy Redis Enterprise for Kubernetes](/content/operate/kubernetes/7.4.6/deployment/quick-start.md).

{{< image filename="/images/k8s/k8s-deploy-one-to-one.png" >}}
![](/images/k8s/k8s-deploy-one-to-one.png)

## Single REC and multiple namespaces (one-to-many)

Multiple Redis Enterprise databases (REDB) spread across multiple namespaces within the same K8s cluster can be associated with the same Redis Enterprise cluster (REC). See [Manage databases in multiple namespaces](/content/operate/kubernetes/7.4.6/re-clusters/multi-namespace.md) for more information.

{{< image filename="/images/k8s/k8s-deploy-one-to-many.png" >}}
![](/images/k8s/k8s-deploy-one-to-many.png)

## Multiple RECs and multiple namespaces (many-to-many)

Expand All @@ -43,18 +43,18 @@ You have the flexibility to create databases in separate namespaces, or in the s
See [Manage databases in multiple namespaces](/content/operate/kubernetes/7.4.6/re-clusters/multi-namespace.md) for more information.


{{< image filename="/images/k8s/k8s-deploy-many-to-many.png" >}}
![](/images/k8s/k8s-deploy-many-to-many.png)

## Unsupported deployment patterns

### Cross-cluster operations

Redis Enterprise for Kubernetes does not support operations that cross Kubernetes clusters. Redis Enterprise clusters (REC) work inside a single K8s cluster. Crossing clusters could result in functional and security issues.

{{< image filename="/images/k8s/k8s-deploy-cross-namespaces.png" >}}
![](/images/k8s/k8s-deploy-cross-namespaces.png)

### Multiple RECs in one namespace

Redis Enterprise for Kubernetes does not support multiple Redis Enterprise clusters (REC) in the same namespace. Creating more than one REC in the same namespace will result in errors.

{{< image filename="/images/k8s/k8s-deploy-multicluster-antipattern.png" >}}
![](/images/k8s/k8s-deploy-multicluster-antipattern.png)
Original file line number Diff line number Diff line change
Expand Up @@ -147,33 +147,33 @@ Now, proceed to the Openshift web console.
1. From the left menu, select a project that holds one of your configured clusters and
then select **Add to Project > Browse Catalog**.

{{< image filename="/images/rs/openshift-crdb-catalog.png" >}}
![](/images/rs/openshift-crdb-catalog.png)

1. Find the **Redis Enterprise [Project Name:Cluster Name]** tile and double-click it to start the wizard.

{{< image filename="/images/rs/openshift-crdb-information.png" >}}
![](/images/rs/openshift-crdb-information.png)

1. Click **Next** in the Information step.

{{< image filename="/images/rs/openshift-crdb-plan.png" >}}
![](/images/rs/openshift-crdb-plan.png)

1. Then, to deploy an Active-Active database on the clusters you鈥檝e previously configured,
select the **geo-distributed-redis** plan radio button and click **Next**.

{{< image filename="/images/rs/openshift-crdb-configuration.png" >}}
![](/images/rs/openshift-crdb-configuration.png)

1. Click **Next** on the Configuration step, choose a binding option in the Binding step,
and click **Create**.

{{< image filename="/images/rs/openshift-crdb-binding.png" >}}
![](/images/rs/openshift-crdb-binding.png)

The Active-Active database connected databases are now created with the specified binding, if you selected a binding.

{{< image filename="/images/rs/openshift-crdb-results.png" >}}
![](/images/rs/openshift-crdb-results.png)

You can view the binding by following the link to the secret.

{{< image filename="/images/rs/openshift-crdb-secret.png" >}}
![](/images/rs/openshift-crdb-secret.png)

## Validating Active-Active database deployment

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,11 @@ Prerequisites:
- Log in to your OpenShift account as a super admin (so you have access to all the default projects).
- Create a new project, fill in the name and other details for the project, and click **Create**.

{{< image filename="/images/rs/getting-started-kubernetes-openshift-image1.png" >}}
![](/images/rs/getting-started-kubernetes-openshift-image1.png)

- Click on "admin" (upper right corner) and then "Copy Login."

{{< image filename="/images/rs/getting-started-kubernetes-openshift-image4.png" >}}
![](/images/rs/getting-started-kubernetes-openshift-image4.png)

- Paste the *login* command into your shell; it should look something like this:

Expand Down Expand Up @@ -205,7 +205,7 @@ You should receive the following response:

Now, run `kubectl get deployment` and verify that your redis-enterprise-operator deployment is running. A Typical response will look like this:

{{< image filename="/images/rs/getting-started-kubernetes-openshift-image2.png" >}}
![](/images/rs/getting-started-kubernetes-openshift-image2.png)

- [redis-enterprise-cluster.yaml](https://raw.githubusercontent.com/RedisLabs/redis-enterprise-k8s-docs/master/redis-enterprise-cluster.yaml)
-->
Expand Down Expand Up @@ -319,7 +319,7 @@ In order to create your database, we will log in to the Redis Enterprise UI.

- Open a browser window and navigate to localhost:8443

{{< image filename="/images/rs/getting-started-kubernetes-openshift-image5.png" >}}
![](/images/rs/getting-started-kubernetes-openshift-image5.png)

- In order to retrieve your password, navigate to the OpenShift management console, select your project name, go to Resources-\>Secrets-\>your_cluster_name
- Retrieve your password by selecting "Reveal Secret."
Expand All @@ -328,13 +328,13 @@ In order to create your database, we will log in to the Redis Enterprise UI.
> Do not change the default admin user password in the Redis Enterprise admin console.
> Changing the admin password impacts the proper operation of the K8s deployment.

{{< image filename="/images/rs/getting-started-kubernetes-openshift-image3.png" >}}
![](/images/rs/getting-started-kubernetes-openshift-image3.png)

- Follow the interface鈥檚 [instructions to create your database](/operate/rs/administering/creating-databases/_index.md).

> [!NOTE]
> In order to conduct the Ping test through Telnet, you can create a new route to the newly created database port in the same way as described above for the UI port. After you create your database, go to the Openshift management console, select your project name and go to Applications-\>Services. You will see two newly created services representing the database along with their IP and port information, similar to the screenshot below.

{{< image filename="/images/rs/getting-started-kubernetes-openshift-image6.png" >}}
![](/images/rs/getting-started-kubernetes-openshift-image6.png)

{{% /comment %}}
2 changes: 1 addition & 1 deletion content/operate/kubernetes/7.4.6/upgrade/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ When upgrading, both your Kubernetes version and Redis operator version need to

The flow chart below can help you decide if your upgrade requires multiple steps.

{{< image filename="/images/k8s/upgrade-flowchart.jpg" alt="Upgrade flowchart" >}}
![Upgrade flowchart](/images/k8s/upgrade-flowchart.jpg)

## How does the REC upgrade work?

Expand Down
4 changes: 2 additions & 2 deletions content/operate/kubernetes/7.8.4/architecture/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Supported platforms are listed in the [release notes](/content/operate/kubernete

The image below illustrates the components of a single namespace, three node deployment.

{{< image filename="/images/k8s/k8s-arch-v4.png" >}}
![](/images/k8s/k8s-arch-v4.png)

## Operator

Expand Down Expand Up @@ -67,7 +67,7 @@ For settings managed by the operator, any changes made outside of the CR YAML fi

A Redis Enterprise cluster is a set of Redis Enterprise nodes pooling resources. Each node is capable of running multiple Redis instances ([shards](/content/operate/rs/references/terminology.md)).

{{< image filename="/images/k8s/k8s-node-arch.png">}}
![](/images/k8s/k8s-node-arch.png)

A Redis cluster is created and managed by the [RedisEnterpriseCluster (REC)](/content/operate/kubernetes/7.8.4/reference/redis_enterprise_cluster_api.md) [custom resource](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/). Changes to the REC configuration file prompt the operator to make changes to the cluster. The REC is required for both standard databases ([REDB](#redisenterprisedatabase-redb)) and Active-Active databases ([REAADB](#redisenterpriseactiveactivedatabase-reaadb)).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,13 @@ The Redis Enterprise cluster (REC) custom resource must reside in the same names

The standard and simplest deployment deploys your Redis Enterprise databases (REDB) in the same namespace as the Redis Enterprise cluster (REC). No additional configuration is required for this, since there is no communication required to cross namespaces. See [Deploy Redis Enterprise for Kubernetes](/content/operate/kubernetes/7.8.4/deployment/quick-start.md).

{{< image filename="/images/k8s/k8s-deploy-one-to-one.png" >}}
![](/images/k8s/k8s-deploy-one-to-one.png)

## Single REC and multiple namespaces (one-to-many)

Multiple Redis Enterprise databases (REDB) spread across multiple namespaces within the same K8s cluster can be associated with the same Redis Enterprise cluster (REC). See [Manage databases in multiple namespaces](/content/operate/kubernetes/7.8.4/re-clusters/multi-namespace.md) for more information.

{{< image filename="/images/k8s/k8s-deploy-one-to-many.png" >}}
![](/images/k8s/k8s-deploy-one-to-many.png)

## Multiple RECs and multiple namespaces (many-to-many)

Expand All @@ -43,18 +43,18 @@ You have the flexibility to create databases in separate namespaces, or in the s
See [Manage databases in multiple namespaces](/content/operate/kubernetes/7.8.4/re-clusters/multi-namespace.md) for more information.


{{< image filename="/images/k8s/k8s-deploy-many-to-many.png" >}}
![](/images/k8s/k8s-deploy-many-to-many.png)

## Unsupported deployment patterns

### Cross-cluster operations

Redis Enterprise for Kubernetes does not support operations that cross Kubernetes clusters. Redis Enterprise clusters (REC) work inside a single K8s cluster. Crossing clusters could result in functional and security issues.

{{< image filename="/images/k8s/k8s-deploy-cross-namespaces.png" >}}
![](/images/k8s/k8s-deploy-cross-namespaces.png)

### Multiple RECs in one namespace

Redis Enterprise for Kubernetes does not support multiple Redis Enterprise clusters (REC) in the same namespace. Creating more than one REC in the same namespace will result in errors.

{{< image filename="/images/k8s/k8s-deploy-multicluster-antipattern.png" >}}
![](/images/k8s/k8s-deploy-multicluster-antipattern.png)
Original file line number Diff line number Diff line change
Expand Up @@ -147,33 +147,33 @@ Now, proceed to the Openshift web console.
1. From the left menu, select a project that holds one of your configured clusters and
then select **Add to Project > Browse Catalog**.

{{< image filename="/images/rs/openshift-crdb-catalog.png" >}}
![](/images/rs/openshift-crdb-catalog.png)

1. Find the **Redis Enterprise [Project Name:Cluster Name]** tile and double-click it to start the wizard.

{{< image filename="/images/rs/openshift-crdb-information.png" >}}
![](/images/rs/openshift-crdb-information.png)

1. Click **Next** in the Information step.

{{< image filename="/images/rs/openshift-crdb-plan.png" >}}
![](/images/rs/openshift-crdb-plan.png)

1. Then, to deploy an Active-Active database on the clusters you鈥檝e previously configured,
select the **geo-distributed-redis** plan radio button and click **Next**.

{{< image filename="/images/rs/openshift-crdb-configuration.png" >}}
![](/images/rs/openshift-crdb-configuration.png)

1. Click **Next** on the Configuration step, choose a binding option in the Binding step,
and click **Create**.

{{< image filename="/images/rs/openshift-crdb-binding.png" >}}
![](/images/rs/openshift-crdb-binding.png)

The Active-Active database connected databases are now created with the specified binding, if you selected a binding.

{{< image filename="/images/rs/openshift-crdb-results.png" >}}
![](/images/rs/openshift-crdb-results.png)

You can view the binding by following the link to the secret.

{{< image filename="/images/rs/openshift-crdb-secret.png" >}}
![](/images/rs/openshift-crdb-secret.png)

## Validating Active-Active database deployment

Expand Down
Loading
Loading