diff --git a/content/operate/kubernetes/7.8.6/active-active/_index.md b/content/operate/kubernetes/7.8.6/active-active/_index.md index 51b1e1c61d..dbbd8bf3e9 100644 --- a/content/operate/kubernetes/7.8.6/active-active/_index.md +++ b/content/operate/kubernetes/7.8.6/active-active/_index.md @@ -12,7 +12,7 @@ weight: 40 url: '/operate/kubernetes/7.8.6/active-active/' --- -On Kubernetes, Redis Enterprise [Active-Active]({{< relref "/operate/rs/databases/active-active/" >}}) databases provide read and write access to the same dataset from different Kubernetes clusters. +On Kubernetes, Redis Enterprise [Active-Active](/content/operate/rs/databases/active-active/_index.md) databases provide read and write access to the same dataset from different Kubernetes clusters. ## Active-Active setup methods @@ -30,9 +30,9 @@ Versions 6.4.2-6 or later fully support the Active-Active controller. Some of th This setup method includes the following steps: -1. Gather REC credentials and [prepare participating clusters]({{< relref "/operate/kubernetes/7.8.6/active-active/prepare-clusters.md" >}}). -2. Create [`RedisEnterpriseRemoteCluster` (RERC)]({{< relref "/operate/kubernetes/7.8.6/active-active/create-reaadb#create-rerc" >}}) resources. -3. Create [`RedisEnterpriseActiveActiveDatabase` (REAADB)]({{< relref "/operate/kubernetes/7.8.6/active-active/create-reaadb#create-reaadb" >}}) resource. +1. Gather REC credentials and [prepare participating clusters](/content/operate/kubernetes/7.8.6/active-active/prepare-clusters.md). +2. Create [`RedisEnterpriseRemoteCluster` (RERC)](/content/operate/kubernetes/7.8.6/active-active/create-reaadb.md#create-rerc) resources. +3. Create [`RedisEnterpriseActiveActiveDatabase` (REAADB)](/content/operate/kubernetes/7.8.6/active-active/create-reaadb.md#create-reaadb) resource. ### `crdb-cli` method @@ -45,11 +45,12 @@ For versions 6.4.2 or earlier, this Active-Active setup method includes the foll ## Redis Enterprise Active-Active controller for Kubernetes -{{}}These features are supported for general availability in releases 6.4.2-6 and later.{{}} +> [!NOTE] +> These features are supported for general availability in releases 6.4.2-6 and later. -[Active-Active]({{< relref "/operate/rs/databases/active-active/" >}}) databases give you read-and-write access to Redis Enterprise clusters (REC) in different Kubernetes clusters or namespaces. Active-Active deployments managed by the Redis Enterprise operator require two additional custom resources: Redis Enterprise Active-Active database (REAADB) and Redis Enterprise remote cluster (RERC). +[Active-Active](/content/operate/rs/databases/active-active/_index.md) databases give you read-and-write access to Redis Enterprise clusters (REC) in different Kubernetes clusters or namespaces. Active-Active deployments managed by the Redis Enterprise operator require two additional custom resources: Redis Enterprise Active-Active database (REAADB) and Redis Enterprise remote cluster (RERC). -To create an Active-Active Redis Enterprise deployment for Kubernetes with these new features, first [prepare participating clusters]({{< relref "/operate/kubernetes/7.8.6/active-active/prepare-clusters.md" >}}) then [create an Active-Active database]({{< relref "/operate/kubernetes/7.8.6/active-active/create-reaadb.md" >}}). +To create an Active-Active Redis Enterprise deployment for Kubernetes with these new features, first [prepare participating clusters](/content/operate/kubernetes/7.8.6/active-active/prepare-clusters.md) then [create an Active-Active database](/content/operate/kubernetes/7.8.6/active-active/create-reaadb.md). ### Preview versions @@ -76,13 +77,13 @@ If you are using a preview version of these features (operator version 6.4.2-4 o Redis Enterprise Active-Active database (REAADB) contains a link to the RERC for each participating cluster, and provides configuration and status to the management plane. -For a full list of fields and options, see the [REAADB API reference]({{}}). +For a full list of fields and options, see the [REAADB API reference](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_active_active_database_api.md). ### RERC custom resource Redis Enterprise remote cluster (RERC) custom resource contains configuration details for all the participating clusters. -For a full list of fields and options, see the [RERC API reference]({{}}). +For a full list of fields and options, see the [RERC API reference](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_remote_cluster_api.md). ### Limitations @@ -96,4 +97,4 @@ For a full list of fields and options, see the [RERC API reference]({{}}). +For more general information about Active-Active, see the [Redis Enterprise Software docs](/content/operate/rs/databases/active-active/_index.md). diff --git a/content/operate/kubernetes/7.8.6/active-active/create-aa-crdb-cli.md b/content/operate/kubernetes/7.8.6/active-active/create-aa-crdb-cli.md index 5311f54985..57ab03ecb4 100644 --- a/content/operate/kubernetes/7.8.6/active-active/create-aa-crdb-cli.md +++ b/content/operate/kubernetes/7.8.6/active-active/create-aa-crdb-cli.md @@ -11,11 +11,12 @@ linkTitle: Create Active-Active with crdb-cli weight: 99 url: '/operate/kubernetes/7.8.6/active-active/create-aa-crdb-cli/' --- -{{}} Versions 6.4.2 and later support the Active-Active database controller. This controller allows you to create Redis Enterprise Active-Active databases (REAADB) and Redis Enterprise remote clusters (RERC) with custom resources. We recommend using the [REAADB method for creating Active-Active databases]({{< relref "/operate/kubernetes/7.8.6/active-active/create-reaadb.md" >}}).{{}} +> [!NOTE] +> Versions 6.4.2 and later support the Active-Active database controller. This controller allows you to create Redis Enterprise Active-Active databases (REAADB) and Redis Enterprise remote clusters (RERC) with custom resources. We recommend using the [REAADB method for creating Active-Active databases](/content/operate/kubernetes/7.8.6/active-active/create-reaadb.md). -On Kubernetes, Redis Enterprise [Active-Active]({{< relref "/operate/rs/databases/active-active/" >}}) databases provide read-and-write access to the same dataset from different Kubernetes clusters. For more general information about Active-Active, see the [Redis Enterprise Software docs]({{< relref "/operate/rs/databases/active-active/" >}}). +On Kubernetes, Redis Enterprise [Active-Active](/content/operate/rs/databases/active-active/_index.md) databases provide read-and-write access to the same dataset from different Kubernetes clusters. For more general information about Active-Active, see the [Redis Enterprise Software docs](/content/operate/rs/databases/active-active/_index.md). -Creating an Active-Active database requires routing [network access]({{< relref "/operate/kubernetes/7.8.6/networking/" >}}) between two Redis Enterprise clusters residing in different Kubernetes clusters. Without the proper access configured for each cluster, syncing between the databases instances will fail. +Creating an Active-Active database requires routing [network access](/content/operate/kubernetes/7.8.6/networking/_index.md) between two Redis Enterprise clusters residing in different Kubernetes clusters. Without the proper access configured for each cluster, syncing between the databases instances will fail. This process consists of: @@ -27,11 +28,12 @@ This process consists of: Before creating Active-Active databases, you'll need admin access to two or more working Kubernetes clusters that each have: -- Routing for external access with an [ingress resources]({{< relref "/operate/kubernetes/7.8.6/networking/ingress.md" >}}) (or [route resources]({{< relref "/operate/kubernetes/7.8.6/networking/routes.md" >}}) on OpenShift). -- A working [Redis Enterprise cluster (REC)]({{< relref "/operate/kubernetes/7.8.6/reference/redis_enterprise_cluster_api" >}}) with a unique name. -- Enough memory resources available for the database (see [hardware requirements]({{< relref "/operate/rs/installing-upgrading/install/plan-deployment/hardware-requirements.md" >}})). +- Routing for external access with an [ingress resources](/content/operate/kubernetes/7.8.6/networking/ingress.md) (or [route resources](/content/operate/kubernetes/7.8.6/networking/routes.md) on OpenShift). +- A working [Redis Enterprise cluster (REC)](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_cluster_api.md) with a unique name. +- Enough memory resources available for the database (see [hardware requirements](/content/operate/rs/installing-upgrading/install/plan-deployment/hardware-requirements.md)). -{{}} The `activeActive` field and the `ingressOrRouteSpec` field cannot coexist in the same REC. If you configured your ingress via the `ingressOrRouteSpec` field in the REC, create your Active-Active database with the RedisEnterpriseActiveActiveDatabase (REAADB) custom resource.{{}} +> [!NOTE] +> The `activeActive` field and the `ingressOrRouteSpec` field cannot coexist in the same REC. If you configured your ingress via the `ingressOrRouteSpec` field in the REC, create your Active-Active database with the RedisEnterpriseActiveActiveDatabase (REAADB) custom resource. ## Document required parameters @@ -50,9 +52,8 @@ The most common mistake when setting up Active-Active databases is incorrect or You'll need the following information for each participating Redis Enterprise cluster (REC): -{{}} -You'll need to create DNS aliases to resolve your API hostname ``,``, `` to the IP address for the ingress controller’s LoadBalancer (or routes in Openshift) for each database. To avoid entering multiple DNS records, you can use a wildcard in your alias (such as *.ijk.example.com). -{{}} +> [!NOTE] +> You'll need to create DNS aliases to resolve your API hostname ``,``, `` to the IP address for the ingress controller’s LoadBalancer (or routes in Openshift) for each database. To avoid entering multiple DNS records, you can use a wildcard in your alias (such as *.ijk.example.com). - **REC hostname** ``: - Description: Hostname used to identify your Redis Enterprise cluster in the `crdb-cli` command. This MUST be different from other participating clusters. @@ -70,7 +71,7 @@ You'll need to create DNS aliases to resolve your API hostname ``, - Description: Combined with database name to create the Active-Active database hostname - Format: string - Example value: `-cluster.ijk.example.com` -- [**REC admin credentials**]({{< relref "/operate/kubernetes/7.8.6/security/manage-rec-credentials.md" >}}) ` `: +- [**REC admin credentials**](/content/operate/kubernetes/7.8.6/security/manage-rec-credentials.md) ` `: - Description: Admin username and password for the REC stored in a secret - Format: string - Example value: username: `user@example.com`, password: `something` @@ -100,7 +101,7 @@ From inside your K8s cluster, edit your Redis Enterprise cluster (REC) resource ### Using ingress controller -1. If your cluster uses an [ingress controller]({{< relref "/operate/kubernetes/7.8.6/networking/ingress.md" >}}), add the following to the `spec` section of your REC resource file. +1. If your cluster uses an [ingress controller](/content/operate/kubernetes/7.8.6/networking/ingress.md), add the following to the `spec` section of your REC resource file. Nginx: @@ -147,11 +148,10 @@ HAproxy: #### If using Istio Gateway and VirtualService -No changes are required to the REC spec if you are using [Istio]({{< relref "/operate/kubernetes/7.8.6/networking/istio-ingress.md" >}}) in place of an ingress controller. The `activeActive` section added above creates ingress resources. The two custom resources used to configure Istio (Gateway and VirtualService) replace the need for ingress resources. +No changes are required to the REC spec if you are using [Istio](/content/operate/kubernetes/7.8.6/networking/istio-ingress.md) in place of an ingress controller. The `activeActive` section added above creates ingress resources. The two custom resources used to configure Istio (Gateway and VirtualService) replace the need for ingress resources. -{{}} -These custom resources are not controlled by the operator and you will need to configure and maintain them manually. -{{}} +> [!WARNING] +> These custom resources are not controlled by the operator and you will need to configure and maintain them manually. For each cluster, verify the VirtualService resource has two `- match:` blocks in the `tls` section. The hostname under `sniHosts:` should match your ``. @@ -174,7 +174,7 @@ For each cluster, verify the VirtualService resource has two `- match:` blocks i 1. Make sure you have DNS aliases for each database that resolve your API hostname ``,``, `` to the route IP address. To avoid entering multiple DNS records, you can use a wildcard in your alias (such as `*.ijk.example.com`). -1. If your cluster uses [OpenShift routes]({{< relref "/operate/kubernetes/7.8.6/networking/routes.md" >}}), add the following to the `spec` section of your Redis Enterprise cluster (REC) resource file. +1. If your cluster uses [OpenShift routes](/content/operate/kubernetes/7.8.6/networking/routes.md), add the following to the `spec` section of your Redis Enterprise cluster (REC) resource file. ```sh activeActive: @@ -195,7 +195,7 @@ For each cluster, verify the VirtualService resource has two `- match:` blocks i ## Create an Active-Active database with `crdb-cli` -The `crdb-cli` command can be run from any Redis Enterprise pod hosted on any participating K8s cluster. You'll need the values for the [required parameters]({{< relref "/operate/kubernetes/7.8.6/active-active/create-aa-crdb-cli#document-required-parameters" >}}) for each Redis Enterprise cluster. +The `crdb-cli` command can be run from any Redis Enterprise pod hosted on any participating K8s cluster. You'll need the values for the [required parameters](/content/operate/kubernetes/7.8.6/active-active/create-aa-crdb-cli.md#document-required-parameters) for each Redis Enterprise cluster. ```sh crdb-cli crdb create \ @@ -208,10 +208,10 @@ crdb-cli crdb create \ To create a database that syncs between more than two instances, add additional `--instance` arguments. -See the [`crdb-cli` reference]({{< relref "/operate/rs/references/cli-utilities/crdb-cli" >}}) for more options. +See the [`crdb-cli` reference](/content/operate/rs/references/cli-utilities/crdb-cli/_index.md) for more options. ## Test your database The easiest way to test your Active-Active database is to set a key-value pair in one database and retrieve it from the other. -You can connect to your databases with the instructions in [Manage databases]({{< relref "/operate/kubernetes/7.8.6/re-databases/db-controller#connect-to-a-database" >}}). Set a test key with `SET foo bar` in the first database. If your Active-Active deployment is working properly, when connected to your second database, `GET foo` should output `bar`. +You can connect to your databases with the instructions in [Manage databases](/content/operate/kubernetes/7.8.6/re-databases/db-controller.md#connect-to-a-database). Set a test key with `SET foo bar` in the first database. If your Active-Active deployment is working properly, when connected to your second database, `GET foo` should output `bar`. diff --git a/content/operate/kubernetes/7.8.6/active-active/create-reaadb.md b/content/operate/kubernetes/7.8.6/active-active/create-reaadb.md index 38e941e187..a39c267f78 100644 --- a/content/operate/kubernetes/7.8.6/active-active/create-reaadb.md +++ b/content/operate/kubernetes/7.8.6/active-active/create-reaadb.md @@ -17,18 +17,19 @@ url: '/operate/kubernetes/7.8.6/active-active/create-reaadb/' To create an Active-Active database, make sure you've completed all the following steps and have gathered the information listed below each step. -1. Configure the [admission controller and ValidatingWebhook]({{< relref "/operate/kubernetes/7.8.6/deployment/quick-start.md#enable-the-admission-controller/" >}}). - {{}}These are installed and enabled by default on clusters created via the OpenShift OperatorHub. {{}} +1. Configure the [admission controller and ValidatingWebhook](/content/operate/kubernetes/7.8.6/deployment/quick-start.md#enable-the-admission-controller/). + > [!NOTE] + > These are installed and enabled by default on clusters created via the OpenShift OperatorHub. -2. Create two or more [RedisEnterpriseCluster (REC) custom resources]({{< relref "/operate/kubernetes/7.8.6/deployment/quick-start#create-a-redis-enterprise-cluster-rec" >}}) with enough [memory resources]({{< relref "/operate/rs/installing-upgrading/install/plan-deployment/hardware-requirements.md" >}}). +2. Create two or more [RedisEnterpriseCluster (REC) custom resources](/content/operate/kubernetes/7.8.6/deployment/quick-start.md#create-a-redis-enterprise-cluster-rec) with enough [memory resources](/content/operate/rs/installing-upgrading/install/plan-deployment/hardware-requirements.md). * Name of each REC (``) * Namespace for each REC (``) -3. Configure the REC [`ingressOrRoutes` field]({{< relref "/operate/kubernetes/7.8.6/networking/ingressorroutespec.md" >}}) and [create DNS records]({{< relref "/operate/kubernetes/7.8.6/networking/ingressorroutespec#configure-dns/" >}}). +3. Configure the REC [`ingressOrRoutes` field](/content/operate/kubernetes/7.8.6/networking/ingressorroutespec.md) and [create DNS records](/content/operate/kubernetes/7.8.6/networking/ingressorroutespec.md#configure-dns/). * REC API hostname (`api--.`) * Database hostname suffix (`-db--.`) -4. [Prepare participating clusters]({{< relref "/operate/kubernetes/7.8.6/active-active/prepare-clusters.md" >}}) +4. [Prepare participating clusters](/content/operate/kubernetes/7.8.6/active-active/prepare-clusters.md) * RERC name (`) * RERC secret name (`redis-enterprise-`) @@ -70,7 +71,7 @@ For a list of example values used throughout this article, see the [Example valu secretName: redis-enterprise-rerc-reagan ``` - For more details on RERC fields, see the [RERC API reference]({{}}). + For more details on RERC fields, see the [RERC API reference](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_remote_cluster_api.md). 1. Create a Redis Enterprise remote cluster from each RERC custom resource file. @@ -122,9 +123,10 @@ For a list of example values used throughout this article, see the [Example valu - name: rerc-reagan ``` - {{}}Sharding is disabled on Active-Active databases created with a `shardCount` of 1. Sharding cannot be enabled after database creation. {{}} + > [!NOTE] + > Sharding is disabled on Active-Active databases created with a `shardCount` of 1. Sharding cannot be enabled after database creation. - For more details on RERC fields, see the [RERC API reference]({{}}). + For more details on RERC fields, see the [RERC API reference](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_remote_cluster_api.md). 1. Create a Redis Enterprise Active-Active database from the REAADB custom resource file. diff --git a/content/operate/kubernetes/7.8.6/active-active/edit-clusters.md b/content/operate/kubernetes/7.8.6/active-active/edit-clusters.md index 0f9368e3ca..296573d484 100644 --- a/content/operate/kubernetes/7.8.6/active-active/edit-clusters.md +++ b/content/operate/kubernetes/7.8.6/active-active/edit-clusters.md @@ -11,7 +11,8 @@ linkTitle: Edit participating clusters weight: 40 url: '/operate/kubernetes/7.8.6/active-active/edit-clusters/' --- -{{}}This feature is supported for general availability in releases 6.4.2-6 and later. Some of these features were available as a preview in 6.4.2-4 and 6.4.2-5. Please upgrade to 6.4.2-6 for the full set of general availability features and bug fixes. and later.{{}} +> [!NOTE] +> This feature is supported for general availability in releases 6.4.2-6 and later. Some of these features were available as a preview in 6.4.2-4 and 6.4.2-5. Please upgrade to 6.4.2-6 for the full set of general availability features and bug fixes. and later. ## Add a participating cluster @@ -19,7 +20,7 @@ Use the following steps to add a participating cluster to an existing Redis Ente ### Prerequisites -To prepare the Redis Enterprise cluster (REC) to participate in an Active-Active database, perform the following tasks from [Prepare participating clusters]({{< relref "/operate/kubernetes/7.8.6/active-active/prepare-clusters.md" >}}): +To prepare the Redis Enterprise cluster (REC) to participate in an Active-Active database, perform the following tasks from [Prepare participating clusters](/content/operate/kubernetes/7.8.6/active-active/prepare-clusters.md): - Make sure the cluster meets the hardware and naming requirements. - Enable the Active-Active controllers. diff --git a/content/operate/kubernetes/7.8.6/active-active/edit-rerc.md b/content/operate/kubernetes/7.8.6/active-active/edit-rerc.md index 5e6e3f1514..cfcb87231f 100644 --- a/content/operate/kubernetes/7.8.6/active-active/edit-rerc.md +++ b/content/operate/kubernetes/7.8.6/active-active/edit-rerc.md @@ -11,17 +11,18 @@ linkTitle: Edit RERC weight: 60 url: '/operate/kubernetes/7.8.6/active-active/edit-rerc/' --- -{{}}This feature is supported for general availability in releases 6.4.2-6 and later. Some of these features were available as a preview in 6.4.2-4 and 6.4.2-5. Please upgrade to 6.4.2-6 for the full set of general availability features and bug fixes. and later.{{}} +> [!NOTE] +> This feature is supported for general availability in releases 6.4.2-6 and later. Some of these features were available as a preview in 6.4.2-4 and 6.4.2-5. Please upgrade to 6.4.2-6 for the full set of general availability features and bug fixes. and later. Before a RedisEnterpriseCluster (REC) can participate in an Active-Active database, it needs an accompanying RedisEnterpriseRemoteCluster (RERC) custom resource. The RERC contains details allowing the REC to link to the RedisEnterpriseActiveActiveDatabase (REAADB). The RERC resource is listed in the REAADB resource to become a participating cluster for the Active-Active database. The RERC controller periodically connects to the local REC endpoint via its external address, to ensure it’s setup correctly. For this to work, the external load balancer must support [NAT hairpinning](https://en.wikipedia.org/wiki/Network_address_translation#NAT_loopback). In some cloud environments, this may involve disabling IP preservation for the load balancer target groups. -For more details, see the [RERC API reference]({{}}). +For more details, see the [RERC API reference](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_remote_cluster_api.md). ## Edit RERC -Use the `kubectl patch rerc --type merge --patch` command to patch the local RERC custom resource with your changes. For a full list of available fields, see the [RERC API reference]({{}}). +Use the `kubectl patch rerc --type merge --patch` command to patch the local RERC custom resource with your changes. For a full list of available fields, see the [RERC API reference](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_remote_cluster_api.md). The following example edits the `dbFqdnSuffix` field for the RERC named `rerc-ohare`. @@ -68,7 +69,7 @@ If the credentials are changed or updated for a REC participating cluster, you n rerc-ohare Active Valid true ``` - To troubleshoot invalid configurations, view the RERC custom resource events and the [Redis Enterprise operator logs]({{< relref "/operate/kubernetes/7.8.6/logs/" >}}). + To troubleshoot invalid configurations, view the RERC custom resource events and the [Redis Enterprise operator logs](/content/operate/kubernetes/7.8.6/logs/_index.md). 1. Verify the status of each REAADB using that RERC is "Active" and the spec status is "Valid." @@ -79,6 +80,6 @@ If the credentials are changed or updated for a REC participating cluster, you n reaadb-boeing active Valid up ``` - To troubleshoot invalid configurations, view the RERC custom resource events and the [Redis Enterprise operator logs]({{< relref "/operate/kubernetes/7.8.6/logs/" >}}). + To troubleshoot invalid configurations, view the RERC custom resource events and the [Redis Enterprise operator logs](/content/operate/kubernetes/7.8.6/logs/_index.md). 1. Repeat the above steps on all other participating clusters. diff --git a/content/operate/kubernetes/7.8.6/active-active/global-config.md b/content/operate/kubernetes/7.8.6/active-active/global-config.md index 4652bc8780..655162c443 100644 --- a/content/operate/kubernetes/7.8.6/active-active/global-config.md +++ b/content/operate/kubernetes/7.8.6/active-active/global-config.md @@ -15,7 +15,7 @@ url: '/operate/kubernetes/7.8.6/active-active/global-config/' The Redis Enterprise Active-Active database (REAADB) custom resource contains the field `.spec.globalConfigurations`. This field sets configurations for the Active-Active database across all participating clusters, such as memory size, shard count, and the global database secrets. -The [REAADB API reference]({{}}) contains a full list of available fields. +The [REAADB API reference](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_active_active_database_api.md) contains a full list of available fields. ## Edit global configurations @@ -47,7 +47,7 @@ The [REAADB API reference]({{}}). +This section edits the secrets under the REAADB `.spec.globalConfigurations` section. For more information and all available fields, see the [REAADB API reference](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_active_active_database_api.md). 1. On an existing participating cluster, generate a YAML file containing the database secret with the relevant data. diff --git a/content/operate/kubernetes/7.8.6/active-active/global-db-secret.md b/content/operate/kubernetes/7.8.6/active-active/global-db-secret.md index 12bae2dfa2..19aa6e4181 100644 --- a/content/operate/kubernetes/7.8.6/active-active/global-db-secret.md +++ b/content/operate/kubernetes/7.8.6/active-active/global-db-secret.md @@ -17,7 +17,7 @@ url: '/operate/kubernetes/7.8.6/active-active/global-db-secret/' One of the fields available for `globalConfigurations` is `databaseSecretName` which can point to a secret containing the database password. To set the database secret name and sync the data to all participating clusters, follow the steps below. -To edit other global configruations, see [global configuration]({{< relref "/operate/kubernetes/7.8.6/active-active/global-config.md" >}}) +To edit other global configruations, see [global configuration](/content/operate/kubernetes/7.8.6/active-active/global-config.md) 1. On an existing participating cluster, generate a YAML file containing the database secret with the database password. diff --git a/content/operate/kubernetes/7.8.6/active-active/prepare-clusters.md b/content/operate/kubernetes/7.8.6/active-active/prepare-clusters.md index 465a1366d1..ade8f0617c 100644 --- a/content/operate/kubernetes/7.8.6/active-active/prepare-clusters.md +++ b/content/operate/kubernetes/7.8.6/active-active/prepare-clusters.md @@ -18,13 +18,13 @@ url: '/operate/kubernetes/7.8.6/active-active/prepare-clusters/' Before you prepare your clusters to participate in an Active-Active database, make sure you've completed all the following steps and have gathered the information listed below each step. -1. Configure the [admission controller and ValidatingWebhook]({{< relref "/operate/kubernetes/7.8.6/deployment/quick-start.md#enable-the-admission-controller/" >}}). +1. Configure the [admission controller and ValidatingWebhook](/content/operate/kubernetes/7.8.6/deployment/quick-start.md#enable-the-admission-controller/). -2. Create two or more [RedisEnterpriseCluster (REC) custom resources]({{< relref "/operate/kubernetes/7.8.6/deployment/quick-start#create-a-redis-enterprise-cluster-rec" >}}) with enough [memory resources]({{< relref "/operate/rs/installing-upgrading/install/plan-deployment/hardware-requirements.md" >}}). +2. Create two or more [RedisEnterpriseCluster (REC) custom resources](/content/operate/kubernetes/7.8.6/deployment/quick-start.md#create-a-redis-enterprise-cluster-rec) with enough [memory resources](/content/operate/rs/installing-upgrading/install/plan-deployment/hardware-requirements.md). * Name of each REC (``) * Namespace for each REC (``) -3. Configure the REC [`ingressOrRoutes` field]({{< relref "/operate/kubernetes/7.8.6/networking/ingressorroutespec.md" >}}) and [create DNS records]({{< relref "/operate/kubernetes/7.8.6/networking/ingressorroutespec#configure-dns/" >}}). +3. Configure the REC [`ingressOrRoutes` field](/content/operate/kubernetes/7.8.6/networking/ingressorroutespec.md) and [create DNS records](/content/operate/kubernetes/7.8.6/networking/ingressorroutespec.md#configure-dns/). * REC API hostname (`api--.`) * Database hostname suffix (`-db--.`) @@ -141,7 +141,7 @@ To communicate with other clusters, all participating clusters will need access ## Next steps -Now you are ready to [create your Redis Enterprise Active-Active database]({{< relref "/operate/kubernetes/7.8.6/active-active/create-reaadb.md" >}}). +Now you are ready to [create your Redis Enterprise Active-Active database](/content/operate/kubernetes/7.8.6/active-active/create-reaadb.md). ## Example values diff --git a/content/operate/kubernetes/7.8.6/architecture/_index.md b/content/operate/kubernetes/7.8.6/architecture/_index.md index d2c54b5bca..c8508eedc8 100644 --- a/content/operate/kubernetes/7.8.6/architecture/_index.md +++ b/content/operate/kubernetes/7.8.6/architecture/_index.md @@ -17,11 +17,11 @@ 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.]({{}}) +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.](/content/operate/kubernetes/7.8.6/reference/supported_k8s_distributions.md) -Each version of Redis Enterprise for Kubernetes is tested to ensure the version of Redis Enterprise works with the [supported Kubernetes 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. +Each version of Redis Enterprise for Kubernetes is tested to ensure the version of Redis Enterprise works with the [supported Kubernetes distributions](/content/operate/kubernetes/7.8.6/reference/supported_k8s_distributions.md) 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. -Supported platforms are listed in the [release notes]({{}}) and in the [supported platforms reference.]({{}}) +Supported platforms are listed in the [release notes](/content/operate/kubernetes/release-notes/_index.md) and in the [supported platforms reference.](/content/operate/kubernetes/7.8.6/reference/supported_k8s_distributions.md) ## Architecture @@ -47,15 +47,15 @@ When the operator is installed, the following resources are created: The Redis Enterprise [operator](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) is deployed within a [namespace](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/). Each namespace can host only one operator and one [RedisEnterpriseCluster (REC)](#redisenterprisecluster-rec). Namespaces create logical boundaries between resources, allowing organization and security. Some resources are limited to a namespace, while others are cluster-wide. -Redis Enterprise for Kubernetes also supports [multi-namespace deployments]({{}}), meaning the operator can monitor other namespaces (that host applications) for custom resources and apply any changes. +Redis Enterprise for Kubernetes also supports [multi-namespace deployments](/content/operate/kubernetes/7.8.6/architecture/deployment-options.md), meaning the operator can monitor other namespaces (that host applications) for custom resources and apply any changes. ## Custom resources Kubernetes [custom resources (CRs)](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) are commonly used by databases and other applications to extend the cluster's behavior without changing its underlying code. [Custom resources (CRs)](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) extend the Kubernetes API, enabling users to manage Redis databases the Kubernetes way. Custom resources are created and managed using YAML configuration files. -This [declarative configuration approach](https://kubernetes.io/docs/tasks/manage-kubernetes-objects/declarative-config/) allows you to specify the desired state for your resources, and the operator makes the necessary changes to achieve that state. This simplifies [installation]({{}}), [upgrades]({{}}), and [scaling]({{}}) both vertically and horizontally. +This [declarative configuration approach](https://kubernetes.io/docs/tasks/manage-kubernetes-objects/declarative-config/) allows you to specify the desired state for your resources, and the operator makes the necessary changes to achieve that state. This simplifies [installation](/content/operate/kubernetes/7.8.6/deployment/_index.md), [upgrades](/content/operate/kubernetes/7.8.6/upgrade/_index.md), and [scaling](/content/operate/kubernetes/7.8.6/recommendations/sizing-on-kubernetes.md) both vertically and horizontally. -The operator continuously monitors CRs for changes, automatically reconciling any differences between the desired state you specified in your YAML configuration file, and the actual state of your resources. Custom resources can also reside in separate namespaces from the operator managing them, such as in [multi-namespace installations]({{}}). +The operator continuously monitors CRs for changes, automatically reconciling any differences between the desired state you specified in your YAML configuration file, and the actual state of your resources. Custom resources can also reside in separate namespaces from the operator managing them, such as in [multi-namespace installations](/content/operate/kubernetes/7.8.6/re-clusters/multi-namespace.md). ## Custom resource definitions @@ -65,49 +65,49 @@ For settings managed by the operator, any changes made outside of the CR YAML fi ## RedisEnterpriseCluster REC -A Redis Enterprise cluster is a set of Redis Enterprise nodes pooling resources. Each node is capable of running multiple Redis instances ([shards]({{}})). +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">}} -A Redis cluster is created and managed by the [RedisEnterpriseCluster (REC)]({{}}) [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)). +A Redis cluster is created and managed by the [RedisEnterpriseCluster (REC)](/content/operate/kubernetes/7.8.6/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)). -See the [RedisEnterpriseCluster API Reference]({{}}) for a full list of fields and settings. +See the [RedisEnterpriseCluster API Reference](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_cluster_api.md) for a full list of fields and settings. ## RedisEnterpriseDatabase REDB -A Redis Enterprise database is a logical entity that manages your entire dataset across multiple Redis instances. A Redis instance is a single-threaded database process ([commonly referred to as a shard]({{}})). +A Redis Enterprise database is a logical entity that manages your entire dataset across multiple Redis instances. A Redis instance is a single-threaded database process ([commonly referred to as a shard](/content/operate/rs/references/terminology.md)). -Redis databases are created and managed by the [RedisEnterpriseDatabase (REDB)]({{}}) [custom resource (CR)](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/). Changes to the REDB YAML configuration file prompt the operator to make changes to the database. +Redis databases are created and managed by the [RedisEnterpriseDatabase (REDB)](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_database_api.md) [custom resource (CR)](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/). Changes to the REDB YAML configuration file prompt the operator to make changes to the database. -An operator can manage a database in the same namespace, or a different namespace. See ["Flexible deployment"]({{}}) options and ["Manage databases in multiple namespaces"]({{}}) for more information. +An operator can manage a database in the same namespace, or a different namespace. See ["Flexible deployment"](/content/operate/kubernetes/7.8.6/architecture/deployment-options.md) options and ["Manage databases in multiple namespaces"](/content/operate/kubernetes/7.8.6/re-clusters/multi-namespace.md) for more information. -See the [RedisEnterpriseDatabase (REDB) API Reference]({{}}) for a full list of fields and settings. +See the [RedisEnterpriseDatabase (REDB) API Reference](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_database_api.md) for a full list of fields and settings. ## Security -Redis Enterprise for Kubernetes uses [secrets](https://kubernetes.io/docs/concepts/configuration/secret/) to manage your cluster credentials, cluster certificates, and client certificates. You can configure [LDAP]({{}}) and [internode encryption]({{}}) using the [RedisEnterpriseCluster (REC)](#redisenterprisecluster-rec) spec. +Redis Enterprise for Kubernetes uses [secrets](https://kubernetes.io/docs/concepts/configuration/secret/) to manage your cluster credentials, cluster certificates, and client certificates. You can configure [LDAP](/content/operate/kubernetes/7.8.6/security/ldap.md) and [internode encryption](/content/operate/kubernetes/7.8.6/security/internode-encryption.md) using the [RedisEnterpriseCluster (REC)](#redisenterprisecluster-rec) spec. ### REC credentials -Redis Enterprise for Kubernetes uses the [RedisEnterpriseCluster (REC)]({{}}) [custom resource](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) to create a Redis Enterprise cluster. During creation it generates random credentials for the operator to use. The credentials are saved in a Kubernetes (K8s) [secret](https://kubernetes.io/docs/concepts/configuration/secret/). The secret name defaults to the name of the cluster. +Redis Enterprise for Kubernetes uses the [RedisEnterpriseCluster (REC)](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_cluster_api.md) [custom resource](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) to create a Redis Enterprise cluster. During creation it generates random credentials for the operator to use. The credentials are saved in a Kubernetes (K8s) [secret](https://kubernetes.io/docs/concepts/configuration/secret/). The secret name defaults to the name of the cluster. -See [Manage REC credentials]({{}}) for more details. +See [Manage REC credentials](/content/operate/kubernetes/7.8.6/security/manage-rec-credentials.md) for more details. ### REC certificates By default, Redis Enterprise Software for Kubernetes generates TLS certificates for the cluster during creation. These self-signed certificates are generated on the first node of each Redis Enterprise cluster (REC) and are copied to all other nodes in the cluster. -See [Manage REC certificates]({{}}) for more details. +See [Manage REC certificates](/content/operate/kubernetes/7.8.6/security/manage-rec-certificates.md) for more details. ### Client certificates For each client certificate you want to use, you need to create a [Kubernetes secret](https://kubernetes.io/docs/concepts/configuration/secret/) to hold it. You can then reference that secret in your [Redis Enterprise database (REDB)](#redisenterprisedatabase-redb) custom resource. -See [Add client certificates]({{}}) for more details. +See [Add client certificates](/content/operate/kubernetes/7.8.6/security/add-client-certificates.md) for more details. ## Storage -[Persistent storage is mandatory for Redis Enterprise.]({{}}) Redis Enterprise for Kubernetes [requires network-attached storage](https://en.wikipedia.org/wiki/Network-attached_storage). +[Persistent storage is mandatory for Redis Enterprise.](/content/operate/rs/installing-upgrading/install/plan-deployment/persistent-ephemeral-storage.md) Redis Enterprise for Kubernetes [requires network-attached storage](https://en.wikipedia.org/wiki/Network-attached_storage). Redis Enterprise for Kubernetes uses [PersistentVolumeClaims (PVC)](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#expanding-persistent-volumes-claims) to manage storage resources. The PVC is an abstract representation of the [PersistentVolume (PV)](https://kubernetes.io/docs/concepts/storage/persistent-volumes) resources used by your Redis pods. PVCs are created by the Redis Enterprise operator and used by the [RedisEnterpriseCluster (REC)](#redisenterprisecluster-rec). @@ -115,7 +115,7 @@ PVCs are created with a specific size and [can be expanded](https://kubernetes.i ### Auto Tiering -Redis Enterprise Software for Kubernetes supports [Auto Tiering]({{}}) (previously known as Redis on Flash), which extends your node memory to use both RAM and flash storage. SSDs (solid state drives) can store infrequently used (warm) values while your keys and frequently used (hot) values are still stored in RAM. This improves performance and lowers costs for large datasets. +Redis Enterprise Software for Kubernetes supports [Auto Tiering](/content/operate/kubernetes/7.8.6/re-clusters/auto-tiering.md) (previously known as Redis on Flash), which extends your node memory to use both RAM and flash storage. SSDs (solid state drives) can store infrequently used (warm) values while your keys and frequently used (hot) values are still stored in RAM. This improves performance and lowers costs for large datasets. NVMe (non-volatile memory express) SSDs are strongly recommended to achieve the best performance. @@ -125,13 +125,13 @@ 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]({{< relref "/operate/kubernetes/7.8.6/networking/routes.md" >}}) to route external traffic. +- OpenShift uses [routes](/content/operate/kubernetes/7.8.6/networking/routes.md) to route external traffic. -The [Active-Active databases](#active-active-databases) require one of above routing methods to be configured in the REC with the [ingressOrRouteSpec field]({{}}). +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/7.8.6/reference/redis_enterprise_cluster_api.md#specingressorroutespec). ## Services Rigger -The services rigger is responsible for creating and updating services related to database objects. It identifies database objects within the cluster and creates services in accordance with [`redisEnterpriseCluster.Spec.servicesRiggerSpec` setting]({{}}) to allow access to those databases. By default, each database has two services, a `cluster_ip` Service with the same name as the database and a `headless` Service with the same name as the database suffixed with `-headless`. It also creates other types of Services such as Ingress Services or OpenshiftRoutes (defined in `redisEnterpriseCluster.Spec.ingressOrRouteSpec`) meant to provide access to REAADB objects. +The services rigger is responsible for creating and updating services related to database objects. It identifies database objects within the cluster and creates services in accordance with [`redisEnterpriseCluster.Spec.servicesRiggerSpec` setting](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_cluster_api.md#specservicesriggerspec) to allow access to those databases. By default, each database has two services, a `cluster_ip` Service with the same name as the database and a `headless` Service with the same name as the database suffixed with `-headless`. It also creates other types of Services such as Ingress Services or OpenshiftRoutes (defined in `redisEnterpriseCluster.Spec.ingressOrRouteSpec`) meant to provide access to REAADB objects. You can view a list of services with the `kubectl get services` command. @@ -139,22 +139,22 @@ Kubernetes is a dynamic environment, with nodes and pods changing as needed. The ## Active-Active databases -On Kubernetes, Redis Enterprise [Active-Active]({{< relref "/operate/rs/databases/active-active/" >}}) databases provide read and write access to the same dataset from different Kubernetes clusters. Creating an Active-Active database requires routing [network access]({{< relref "/operate/kubernetes/7.8.6/networking/" >}}) between two Redis Enterprise clusters residing in different Kubernetes clusters. Without the proper access configured for each cluster, syncing between the databases instances will fail.The admission controller is also required for Active-Active databases on Kubernetes, to validate changes to the custom resources. +On Kubernetes, Redis Enterprise [Active-Active](/content/operate/rs/databases/active-active/_index.md) databases provide read and write access to the same dataset from different Kubernetes clusters. Creating an Active-Active database requires routing [network access](/content/operate/kubernetes/7.8.6/networking/_index.md) between two Redis Enterprise clusters residing in different Kubernetes clusters. Without the proper access configured for each cluster, syncing between the databases instances will fail.The admission controller is also required for Active-Active databases on Kubernetes, to validate changes to the custom resources. -For more details and installation information, see [Active-Active databases]({{}}). For more general information about Active-Active, see the [Redis Enterprise Software docs]({{< relref "/operate/rs/databases/active-active/" >}}). +For more details and installation information, see [Active-Active databases](/content/operate/kubernetes/7.8.6/active-active/_index.md). For more general information about Active-Active, see the [Redis Enterprise Software docs](/content/operate/rs/databases/active-active/_index.md). ## RedisEnterpriseRemoteCluster RERC -The [RedisEnterpriseRemoteCluster (RERC)]({{}}) contains details allowing the REC to link to the RedisEnterpriseActiveActiveDatabase (REAADB). The RERC resource is listed in the [REAADB](#redisenterpriseactiveactivedatabase-reaadb) resource to become a participating cluster for the Active-Active database. +The [RedisEnterpriseRemoteCluster (RERC)](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_remote_cluster_api.md) contains details allowing the REC to link to the RedisEnterpriseActiveActiveDatabase (REAADB). The RERC resource is listed in the [REAADB](#redisenterpriseactiveactivedatabase-reaadb) resource to become a participating cluster for the Active-Active database. -See the [RERC API reference]({{}}) for a full list of fields and settings. +See the [RERC API reference](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_remote_cluster_api.md) for a full list of fields and settings. ## RedisEnterpriseActiveActiveDatabase REAADB The RedisEnterpriseActiveActiveDatabase (REAADB) resource creates and manages a database that spans more than one Kubernetes cluster. An REAADB requires [external routing](#networking), at least two [RECs](#redisenterprisecluster-rec), and at least two [RERCs](#redisenterpriseremotecluster-rerc). -See the [REAADB API reference]({{}}) for a full list of fields and settings. +See the [REAADB API reference](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_active_active_database_api.md) for a full list of fields and settings. ## Metrics -To collect metrics data from your databases and Redis Enterprise cluster (REC), you can [connect your Prometheus]({{}}) server to an endpoint exposed on your REC. Redis Enterprise for Kubernetes creates a dedicated service to expose the `prometheus` port (8070) for data collection. A custom resource called `ServiceMonitor` allows the [Prometheus operator](https://github.com/prometheus-operator/prometheus-operator/tree/main/Documentation) to connect to this port and collect data from Redis Enterprise. +To collect metrics data from your databases and Redis Enterprise cluster (REC), you can [connect your Prometheus](/content/operate/kubernetes/7.8.6/re-clusters/connect-prometheus-operator.md) server to an endpoint exposed on your REC. Redis Enterprise for Kubernetes creates a dedicated service to expose the `prometheus` port (8070) for data collection. A custom resource called `ServiceMonitor` allows the [Prometheus operator](https://github.com/prometheus-operator/prometheus-operator/tree/main/Documentation) to connect to this port and collect data from Redis Enterprise. diff --git a/content/operate/kubernetes/7.8.6/architecture/deployment-options.md b/content/operate/kubernetes/7.8.6/architecture/deployment-options.md index 627de49f0a..1c45da6b1d 100644 --- a/content/operate/kubernetes/7.8.6/architecture/deployment-options.md +++ b/content/operate/kubernetes/7.8.6/architecture/deployment-options.md @@ -17,17 +17,18 @@ Multiple RedisEnterpriseDatabase (REDB) resources can be associated with a singl The Redis Enterprise cluster (REC) custom resource must reside in the same namespace as the Redis Enterprise operator. -{{}} Multi-namespace installations don't support Active-Active databases (REEADB). Only databases created with the REDB resource are supported in multi-namespace deployments at this time.{{}} +> [!WARNING] +> Multi-namespace installations don't support Active-Active databases (REEADB). Only databases created with the REDB resource are supported in multi-namespace deployments at this time. ## Single REC and single namespace (one-to-one) -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]({{< relref "/operate/kubernetes/7.8.6/deployment/quick-start.md" >}}). +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.6/deployment/quick-start.md). {{< image filename="/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]({{< relref "/operate/kubernetes/7.8.6/re-clusters/multi-namespace.md" >}}) for more information. +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.6/re-clusters/multi-namespace.md) for more information. {{< image filename="/images/k8s/k8s-deploy-one-to-many.png" >}} @@ -37,7 +38,7 @@ A single Kubernetes cluster can contain multiple Redis Enterprise clusters (REC) You have the flexibility to create databases in separate namespaces, or in the same namespace as the REC, or combine any of the supported deployment options above. This configuration is geared towards use cases that require multiple Redis Enterprise clusters with greater isolation or different cluster configurations. -See [Manage databases in multiple namespaces]({{< relref "/operate/kubernetes/7.8.6/re-clusters/multi-namespace.md" >}}) for more information. +See [Manage databases in multiple namespaces](/content/operate/kubernetes/7.8.6/re-clusters/multi-namespace.md) for more information. {{< image filename="/images/k8s/k8s-deploy-many-to-many.png" >}} diff --git a/content/operate/kubernetes/7.8.6/deployment/_index.md b/content/operate/kubernetes/7.8.6/deployment/_index.md index eb1cfea891..7b54771f98 100644 --- a/content/operate/kubernetes/7.8.6/deployment/_index.md +++ b/content/operate/kubernetes/7.8.6/deployment/_index.md @@ -18,6 +18,6 @@ This section lists the different ways to set up and run Redis Enterprise for Kub ## Compatibility -Before installing, check [Supported Kubernetes distributions]({{< relref "/operate/kubernetes/7.8.6/reference/supported_k8s_distributions" >}}) to see which Redis Enterprise operator version supports your Kubernetes distribution. +Before installing, check [Supported Kubernetes distributions](/content/operate/kubernetes/7.8.6/reference/supported_k8s_distributions.md) to see which Redis Enterprise operator version supports your Kubernetes distribution. diff --git a/content/operate/kubernetes/7.8.6/deployment/container-images.md b/content/operate/kubernetes/7.8.6/deployment/container-images.md index 99ec81fd04..8940761ebf 100644 --- a/content/operate/kubernetes/7.8.6/deployment/container-images.md +++ b/content/operate/kubernetes/7.8.6/deployment/container-images.md @@ -30,7 +30,8 @@ For security reasons (e.g., in air-gapped environments), you may want to pull th from a public registry once and then push them to a private registry under your control. -{{}}It is very important that the images you are pushing to the private registry have the same exact version tag as the original images. {{}} +> [!WARNING] +> It is very important that the images you are pushing to the private registry have the same exact version tag as the original images. Furthermore, because [Docker rate limits public pulls](https://www.docker.com/blog/scaling-docker-to-serve-millions-more-developers-network-egress/), you may want to consider pulling images from a @@ -38,11 +39,10 @@ private registry to avoid deployment failures when you hit your DockerHub rate l The information below will help you track and configure where your deployments pull container images. -{{< note >}} -**IMPORTANT** -* Each version of the Redis Enterprise operator is mapped to a specific version of Redis Enterprise Software. The semantic versions always match (for example, 7.2.4), although the specific release numbers may be different (for example, 7.2.4-7 is the operator version for Redis Enterprise Software 7.2.4-64). -* A specific operator version only supports a specific Redis Enterprise version. Other combinations of operator and Redis Enterprise versions are **not supported**. -{{< /note >}} +> [!NOTE] +> **IMPORTANT** +> * Each version of the Redis Enterprise operator is mapped to a specific version of Redis Enterprise Software. The semantic versions always match (for example, 7.2.4), although the specific release numbers may be different (for example, 7.2.4-7 is the operator version for Redis Enterprise Software 7.2.4-64). +> * A specific operator version only supports a specific Redis Enterprise version. Other combinations of operator and Redis Enterprise versions are **not supported**. ## Find container sources @@ -127,7 +127,7 @@ require authentication. If you do need authentication, add a [pull secret](https The operator bundle contains the operator deployment and the reference to the operator image (`redislabs/operator`). To use a private container registry, you must change this image reference in your operator deployment file **before** you deploy the operator. If you apply this change to modify an existing operator deployment, the operator's pod will restart. -In the operator deployment file, 'containers:image' should point to the same repository and tag you used when [pushing]({{< relref "/operate/kubernetes/7.8.6/deployment/container-images.md#push-images-to-a-private-container-registry" >}}) to the private container registry: +In the operator deployment file, 'containers:image' should point to the same repository and tag you used when [pushing](/content/operate/kubernetes/7.8.6/deployment/container-images.md#push-images-to-a-private-container-registry) to the private container registry: ```sh ${PRIVATE_REPO}/redislabs/operator:${OPERATOR_VERSION} diff --git a/content/operate/kubernetes/7.8.6/deployment/helm.md b/content/operate/kubernetes/7.8.6/deployment/helm.md index b1646d5901..dde33f01ba 100644 --- a/content/operate/kubernetes/7.8.6/deployment/helm.md +++ b/content/operate/kubernetes/7.8.6/deployment/helm.md @@ -13,11 +13,12 @@ url: '/operate/kubernetes/7.8.6/deployment/helm/' Helm charts provide a simple way to install the Redis Enterprise for Kubernetes operator in just a few steps. For more information about Helm, go to [https://helm.sh/docs/](https://helm.sh/docs/). -{{}} This feature is currently in public preview and is not supported on production workloads. Only new installations of the Redis operator are supported at this time. The steps for [creating the RedisEnterpriseCluster (REC)]({{}}) and other custom resources remain the same.{{}} +> [!NOTE] +> This feature is currently in public preview and is not supported on production workloads. Only new installations of the Redis operator are supported at this time. The steps for [creating the RedisEnterpriseCluster (REC)](/content/operate/kubernetes/deployment/quick-start.md#create-a-redis-enterprise-cluster-rec) and other custom resources remain the same. ## Prerequisites -- A [supported distribution]({{< relref "/operate/kubernetes/7.8.6/reference/supported_k8s_distributions.md" >}}) of Kubernetes. +- A [supported distribution](/content/operate/kubernetes/7.8.6/reference/supported_k8s_distributions.md) of Kubernetes. - At least three worker nodes. - [Kubernetes client (kubectl)](https://kubernetes.io/docs/tasks/tools/). - [Helm 3.10 or later](https://helm.sh/docs/intro/install/). @@ -127,7 +128,7 @@ helm install redis/redis-enterprise-operator \ ## Uninstall -1. Delete any custom resources managed by the operator. See [Delete custom resources]({{}}) for detailed steps. You must delete custom resources in the correct order to avoid errors. +1. Delete any custom resources managed by the operator. See [Delete custom resources](/content/operate/kubernetes/re-clusters/delete-custom-resources.md) for detailed steps. You must delete custom resources in the correct order to avoid errors. 2. Uninstall the Helm chart. @@ -137,11 +138,12 @@ helm uninstall This removes all Kubernetes resources associated with the chart and deletes the release. -{{}}Custom Resource Definitions (CRDs) installed by the chart are not removed during chart uninstallation. To remove them manually after uninstalling the chart, run `kubectl delete crds -l app=redis-enterprise`.{{}} +> [!NOTE] +> Custom Resource Definitions (CRDs) installed by the chart are not removed during chart uninstallation. To remove them manually after uninstalling the chart, run `kubectl delete crds -l app=redis-enterprise`. ## Known limitations -- Only new installations of the Redis operator are supported at this time. The steps for [creating the RedisEnterpriseCluster (REC)]({{}}) and other custom resources remain the same. +- Only new installations of the Redis operator are supported at this time. The steps for [creating the RedisEnterpriseCluster (REC)](/content/operate/kubernetes/deployment/quick-start.md#create-a-redis-enterprise-cluster-rec) and other custom resources remain the same. - Upgrades and migrations are not supported. - The chart doesn't include configuration options for multiple namespaces, rack-awareness, and Vault integration. The steps for configuring these options remain the same. - The chart has had limited testing in advanced setups, including Active-Active configurations, air-gapped deployments, and IPv6/dual-stack environments. diff --git a/content/operate/kubernetes/7.8.6/deployment/openshift/_index.md b/content/operate/kubernetes/7.8.6/deployment/openshift/_index.md index 5e999cd7cc..34f0541057 100644 --- a/content/operate/kubernetes/7.8.6/deployment/openshift/_index.md +++ b/content/operate/kubernetes/7.8.6/deployment/openshift/_index.md @@ -28,16 +28,16 @@ workloads can use: ## For OpenShift via the OperatorHub -To [create a database on an OpenShift 4.x cluster via the OperatorHub]({{< relref "/operate/kubernetes/7.8.6/deployment/openshift/openshift-operatorhub" >}}) you only need to have the [OpenShift 4.x cluster installed](https://docs.openshift.com/container-platform/4.3/welcome/index.html) with at least three nodes that each meet the [minimum requirements for a development installation]({{< relref "/operate/rs/installing-upgrading/install/plan-deployment/hardware-requirements.md" >}}). +To [create a database on an OpenShift 4.x cluster via the OperatorHub](/content/operate/kubernetes/7.8.6/deployment/openshift/openshift-operatorhub.md) you only need to have the [OpenShift 4.x cluster installed](https://docs.openshift.com/container-platform/4.3/welcome/index.html) with at least three nodes that each meet the [minimum requirements for a development installation](/content/operate/rs/installing-upgrading/install/plan-deployment/hardware-requirements.md). ## For OpenShift via the CLI -To [create a database on an OpenShift cluster via the CLI]({{< relref "/operate/kubernetes/7.8.6/deployment/openshift/openshift-cli.md" >}}), you need: +To [create a database on an OpenShift cluster via the CLI](/content/operate/kubernetes/7.8.6/deployment/openshift/openshift-cli.md), you need: -1. An [OpenShift cluster installed](https://docs.openshift.com/container-platform/4.3/welcome/index.html) with at least three nodes that each meet the [minimum requirements for a development installation]({{< relref "/operate/rs/installing-upgrading/install/plan-deployment/hardware-requirements.md" >}}). +1. An [OpenShift cluster installed](https://docs.openshift.com/container-platform/4.3/welcome/index.html) with at least three nodes that each meet the [minimum requirements for a development installation](/content/operate/rs/installing-upgrading/install/plan-deployment/hardware-requirements.md). 1. The [kubectl package installed](https://kubernetes.io/docs/tasks/tools/install-kubectl/) at version 1.9 or higher 1. The [OpenShift cli installed](https://docs.openshift.com/container-platform/4.2/cli_reference/openshift_cli/getting-started-cli.html) ## Version compatibility -To see which version of Redis Enterprise for Kubernetes supports your OpenShift version, see [Supported Kubernetes distributions]({{< relref "/operate/kubernetes/7.8.6/reference/supported_k8s_distributions" >}}). +To see which version of Redis Enterprise for Kubernetes supports your OpenShift version, see [Supported Kubernetes distributions](/content/operate/kubernetes/7.8.6/reference/supported_k8s_distributions.md). diff --git a/content/operate/kubernetes/7.8.6/deployment/openshift/old-getting-started-openshift-crdb.md b/content/operate/kubernetes/7.8.6/deployment/openshift/old-getting-started-openshift-crdb.md index 44292e8d01..5c94450145 100644 --- a/content/operate/kubernetes/7.8.6/deployment/openshift/old-getting-started-openshift-crdb.md +++ b/content/operate/kubernetes/7.8.6/deployment/openshift/old-getting-started-openshift-crdb.md @@ -11,7 +11,7 @@ hidden: true weight: $weight url: '/operate/kubernetes/7.8.6/deployment/openshift/old-getting-started-openshift-crdb/' --- -In this guide, we'll set up an [Active-Active database]({{< relref "/operate/rs/databases/active-active/_index.md" >}}) +In this guide, we'll set up an [Active-Active database](/content/operate/rs/databases/active-active/_index.md) (formerly known as CRDB) deployment with Active-Active replication spanning across two Redis Enterprise clusters over OpenShift, using Redis Enterprise Operator and OpenShift Route. @@ -38,15 +38,14 @@ the Redis Enterprise Cluster API service and the DB service that exposes the Act Both services are used during the creation and management of an Active-Active deployment. The routes are configured with TLS passthrough. -{{< note >}} -Routes should have unique hostnames across a Kubernetes cluster. -{{< /note >}} +> [!NOTE] +> Routes should have unique hostnames across a Kubernetes cluster. ## Steps for creating an Active-Active deployment with Service Broker Before you create an Active-Active deployment with Service Broker, you must create a cluster using the REC custom resource, with a Service Broker deployment as covered in -[Getting Started with Kubernetes and Openshift]({{< relref "/operate/platforms/openshift/_index.md" >}}), while noting the following: +[Getting Started with Kubernetes and Openshift](/operate/platforms/openshift/_index.md), while noting the following: 1. Make sure you use the latest versions of the deployment files available on GitHub. 1. Deploy nodes with at least 6GB of RAM in order to accommodate the Active-Active database plan's 5GB database size. @@ -54,9 +53,8 @@ using the REC custom resource, with a Service Broker deployment as covered in The peerClusters section in the spec is used for creating an Active-Active with the Service Broker. -{{< note >}} -This is only relevant for OpenShift deployments, which support Service Brokers natively. -{{< /note >}} +> [!NOTE] +> This is only relevant for OpenShift deployments, which support Service Brokers natively. Copy this section of the REC spec and modify it for your environment. To apply it to every cluster that will participate in the Active-Active database deployment, edit the cluster yaml file diff --git a/content/operate/kubernetes/7.8.6/deployment/openshift/old-index.md b/content/operate/kubernetes/7.8.6/deployment/openshift/old-index.md index cceda25630..df45768abb 100644 --- a/content/operate/kubernetes/7.8.6/deployment/openshift/old-index.md +++ b/content/operate/kubernetes/7.8.6/deployment/openshift/old-index.md @@ -27,7 +27,7 @@ Cluster with OpenShift. Prerequisites: -1. An [OpenShift cluster installed](https://docs.openshift.com/container-platform/4.8/installing/index.html) at version 4.6 or higher, with at least three nodes (each meeting the [minimum requirements for a development installation]({{< relref "/operate/rs/installing-upgrading/hardware-requirements.md" >}}) +1. An [OpenShift cluster installed](https://docs.openshift.com/container-platform/4.8/installing/index.html) at version 4.6 or higher, with at least three nodes (each meeting the [minimum requirements for a development installation](/operate/rs/installing-upgrading/hardware-requirements.md) 1. The [kubectl package installed](https://kubernetes.io/docs/tasks/tools/install-kubectl/) at version 1.9 or higher 1. The [OpenShift cli installed](https://docs.openshift.com/container-platform/4.8/cli_reference/openshift_cli/getting-started-cli.html) @@ -65,9 +65,8 @@ git clone https://github.com/RedisLabs/redis-enterprise-k8s-docs ``` Specifically for the custom resource (cr) yaml file, you may also download and edit one of the files in the [example folder.](https://github.com/RedisLabs/redis-enterprise-k8s-docs/tree/master/examples) @@ -243,9 +242,8 @@ Now, run `kubectl get deployment` and verify that your redis-enterprise-operator The default (if unspecified) is 4 cores (4000m) and 4GB (4Gi). - {{< note >}} -Resource limits should equal requests ([Learn why](https://github.com/RedisLabs/redis-enterprise-k8s-docs/blob/master/topics.md#guaranteed-quality-of-service)). - {{< /note >}} + > [!NOTE] + > Resource limits should equal requests ([Learn why](https://github.com/RedisLabs/redis-enterprise-k8s-docs/blob/master/topics.md#guaranteed-quality-of-service)). - serviceBrokerSpec – - enabled: \ @@ -313,10 +311,9 @@ In order to create your database, we will log in to the Redis Enterprise UI. kubectl port-forward your_cluster_name-0 8443:8443 ``` - {{< note >}} -- your_cluster_name-0 is one of your cluster pods. You may consider running the port-forward command in the background. -- The Openshift UI provides tools for creating additional routing options, including external routes. These are covered in [RedHat Openshift documentation](https://docs.openshift.com/container-platform/3.11/dev_guide/routes.html). - {{< /note >}} + > [!NOTE] + > - your_cluster_name-0 is one of your cluster pods. You may consider running the port-forward command in the background. + > - The Openshift UI provides tools for creating additional routing options, including external routes. These are covered in [RedHat Openshift documentation](https://docs.openshift.com/container-platform/3.11/dev_guide/routes.html). Next, create your database. @@ -327,18 +324,16 @@ In order to create your database, we will log in to the Redis Enterprise UI. - 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." - {{< warning >}} -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. - {{< /warning >}} + > [!WARNING] + > 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" >}} -- Follow the interface’s [instructions to create your database]({{< relref "/operate/rs/administering/creating-databases/_index.md" >}}). +- Follow the interface’s [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. -{{< /note >}} +> [!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" >}} diff --git a/content/operate/kubernetes/7.8.6/deployment/openshift/openshift-cli.md b/content/operate/kubernetes/7.8.6/deployment/openshift/openshift-cli.md index b583833f43..ee3c98a749 100644 --- a/content/operate/kubernetes/7.8.6/deployment/openshift/openshift-cli.md +++ b/content/operate/kubernetes/7.8.6/deployment/openshift/openshift-cli.md @@ -15,10 +15,10 @@ Use these steps to set up a Redis Enterprise Software cluster with OpenShift. ## Prerequisites -- [OpenShift cluster](https://docs.openshift.com/container-platform/4.8/installing/index.html) with at least 3 nodes (each meeting the [minimum requirements for a development installation]({{< relref "/operate/rs/installing-upgrading/install/plan-deployment/hardware-requirements" >}})) +- [OpenShift cluster](https://docs.openshift.com/container-platform/4.8/installing/index.html) with at least 3 nodes (each meeting the [minimum requirements for a development installation](/content/operate/rs/installing-upgrading/install/plan-deployment/hardware-requirements.md)) - [OpenShift CLI](https://docs.openshift.com/container-platform/latest/cli_reference/openshift_cli/getting-started-cli.html) -To see which version of Redis Enterprise for Kubernetes supports your OpenShift version, see [Supported Kubernetes distributions]({{< relref "/operate/kubernetes/7.8.6/reference/supported_k8s_distributions" >}}). +To see which version of Redis Enterprise for Kubernetes supports your OpenShift version, see [Supported Kubernetes distributions](/content/operate/kubernetes/7.8.6/reference/supported_k8s_distributions.md). ## Deploy the operator @@ -48,9 +48,8 @@ To see which version of Redis Enterprise for Kubernetes supports your OpenShift oc apply -f openshift.bundle.yaml ``` - {{< warning >}} -Changes to the `openshift.bundle.yaml` file can cause unexpected results. - {{< /warning >}} + > [!WARNING] + > Changes to the `openshift.bundle.yaml` file can cause unexpected results. 1. Verify that your `redis-enterprise-operator` deployment is running. @@ -65,9 +64,8 @@ Changes to the `openshift.bundle.yaml` file can cause unexpected results. redis-enterprise-operator 1/1 1 1 0m36s ``` - {{}} -DO NOT modify or delete the StatefulSet created during the deployment process. Doing so could destroy your Redis Enterprise cluster (REC). - {{}} + > [!WARNING] + > DO NOT modify or delete the StatefulSet created during the deployment process. Doing so could destroy your Redis Enterprise cluster (REC). ## Install security context constraint @@ -75,9 +73,8 @@ The Redis Enterprise pods must run in OpenShift with privileges set in a [Securi 1. Apply the file `scc.yaml` file. - {{}} -Do not edit this file. - {{}} + > [!WARNING] + > Do not edit this file. ```sh oc apply -f openshift/scc.yaml @@ -98,14 +95,13 @@ Do not edit this file. system:serviceaccount:: ``` - {{}} -If you are using version 6.2.18-41 or earlier, add additional permissions for your cluster. - -```sh -oc adm policy add-scc-to-user redis-enterprise-scc \ -system:serviceaccount::redis-enterprise-operator -``` -{{}} + > [!NOTE] + > If you are using version 6.2.18-41 or earlier, add additional permissions for your cluster. + > + > ```sh + > oc adm policy add-scc-to-user redis-enterprise-scc \ + > system:serviceaccount::redis-enterprise-operator + > ``` You can check the name of your project using the `oc project` command. To replace the project name, use `oc edit project myproject`. Replace `rec` with the name of your Redis Enterprise cluster, if different. @@ -113,13 +109,12 @@ system:serviceaccount::redis-enterprise-operator 1. Apply the `RedisEnterpriseCluster` resource file ([rec_rhel.yaml](https://github.com/RedisLabs/redis-enterprise-k8s-docs/blob/master/openshift/rec_rhel.yaml)). - You can rename the file to `.yaml`, but it is not required. Examples below use `.yaml`. [Options for Redis Enterprise clusters]({{< relref "/operate/kubernetes/7.8.6/reference/redis_enterprise_cluster_api" >}}) has more info about the Redis Enterprise cluster (REC) custom resource, or see the [Redis Enterprise cluster API]({{< relref "/operate/kubernetes/7.8.6/reference/redis_enterprise_cluster_api" >}}) for a full list of options. + You can rename the file to `.yaml`, but it is not required. Examples below use `.yaml`. [Options for Redis Enterprise clusters](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_cluster_api.md) has more info about the Redis Enterprise cluster (REC) custom resource, or see the [Redis Enterprise cluster API](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_cluster_api.md) for a full list of options. The REC name cannot be changed after cluster creation. - {{}} -Each Redis Enterprise cluster requires at least 3 nodes. Single-node RECs are not supported. - {{}} + > [!NOTE] + > Each Redis Enterprise cluster requires at least 3 nodes. Single-node RECs are not supported. 2. Apply the custom resource file to create your Redis Enterprise cluster. @@ -185,16 +180,15 @@ If not limited, the webhook intercepts requests from all namespaces. If you have redis-enterprise-admission --patch "$(cat modified-webhook.yaml)" ``` - {{}} -For releases before 6.4.2-4, use this command instead: - -```sh -oc patch ValidatingWebhookConfiguration \ - redb-admission --patch "$(cat modified-webhook.yaml)" -``` - -The 6.4.2-4 release introduces a new `ValidatingWebhookConfiguration` to replace `redb-admission`. See the [6.4.2-4 release notes]({{< relref "/operate/kubernetes/release-notes/previous-releases/" >}}). - {{}} + > [!NOTE] + > For releases before 6.4.2-4, use this command instead: + > + > ```sh + > oc patch ValidatingWebhookConfiguration \ + > redb-admission --patch "$(cat modified-webhook.yaml)" + > ``` + > + > The 6.4.2-4 release introduces a new `ValidatingWebhookConfiguration` to replace `redb-admission`. See the [6.4.2-4 release notes](/content/operate/kubernetes/release-notes/previous-releases/_index.md). ### Verify admission controller installation @@ -223,7 +217,7 @@ The operator uses the instructions in the Redis Enterprise database (REDB) custo 1. Create a `RedisEnterpriseDatabase` custom resource. - This example creates a test database. For production databases, see [create a database]({{< relref "/operate/kubernetes/7.8.6/re-databases/db-controller.md#create-a-database" >}}) and [RedisEnterpriseDatabase API reference]({{< relref "/operate/kubernetes/7.8.6/reference/redis_enterprise_database_api" >}}). + This example creates a test database. For production databases, see [create a database](/content/operate/kubernetes/7.8.6/re-databases/db-controller.md#create-a-database) and [RedisEnterpriseDatabase API reference](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_database_api.md). ```sh cat << EOF > /tmp/redis-enterprise-database.yml @@ -244,5 +238,5 @@ The operator uses the instructions in the Redis Enterprise database (REDB) custo ## More info -- [Redis Enterprise cluster API]({{< relref "/operate/kubernetes/7.8.6/reference/redis_enterprise_cluster_api" >}}) -- [Redis Enterprise database API]({{< relref "/operate/kubernetes/7.8.6/reference/redis_enterprise_database_api" >}}) +- [Redis Enterprise cluster API](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_cluster_api.md) +- [Redis Enterprise database API](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_database_api.md) diff --git a/content/operate/kubernetes/7.8.6/deployment/openshift/openshift-operatorhub.md b/content/operate/kubernetes/7.8.6/deployment/openshift/openshift-operatorhub.md index d2feefe6cb..c162871768 100644 --- a/content/operate/kubernetes/7.8.6/deployment/openshift/openshift-operatorhub.md +++ b/content/operate/kubernetes/7.8.6/deployment/openshift/openshift-operatorhub.md @@ -14,11 +14,12 @@ url: '/operate/kubernetes/7.8.6/deployment/openshift/openshift-operatorhub/' You can deploy Redis Enterprise for Kubernetes from the Red Hat OpenShift CLI. You can also use a UI, [OperatorHub](https://docs.openshift.com/container-platform/4.11/operators/index.html) (Red Hat) to install operators and create custom resources. -To see which version of Redis Enterprise for Kubernetes supports your OpenShift version, see [Supported Kubernetes distributions]({{< relref "/operate/kubernetes/7.8.6/reference/supported_k8s_distributions" >}}). +To see which version of Redis Enterprise for Kubernetes supports your OpenShift version, see [Supported Kubernetes distributions](/content/operate/kubernetes/7.8.6/reference/supported_k8s_distributions.md). ## Install the Redis Enterprise operator -{{}} If using version 6.2.18-41 or earlier, [Install the security context constraint](#install-security-context-constraint) before installing the operator. {{}} +> [!WARNING] +> If using version 6.2.18-41 or earlier, [Install the security context constraint](#install-security-context-constraint) before installing the operator. 1. Select **Operators > OperatorHub**. @@ -32,7 +33,7 @@ To see which version of Redis Enterprise for Kubernetes supports your OpenShift 4. Update the **channel** with the version you're installing. - For more information about specific versions, see the [release notes]({{< relref "/operate/kubernetes/release-notes/" >}}). + For more information about specific versions, see the [release notes](/content/operate/kubernetes/release-notes/_index.md). 5. Choose an approval strategy. @@ -42,15 +43,15 @@ To see which version of Redis Enterprise for Kubernetes supports your OpenShift You can monitor the subscription status in **Operators > Installed Operators**. -{{}}DO NOT modify or delete the StatefulSet created during the deployment process. Doing so could destroy your Redis Enterprise cluster (REC).{{}} +> [!WARNING] +> DO NOT modify or delete the StatefulSet created during the deployment process. Doing so could destroy your Redis Enterprise cluster (REC). ## Install security context constraint The Redis Enterprise pods must run in OpenShift with privileges set in a [Security Context Constraint](https://docs.openshift.com/container-platform/4.4/authentication/managing-security-context-constraints.html#security-context-constraints-about_configuring-internal-oauth). This grants the pod various rights, such as the ability to change system limits or run as a particular user. -{{}} - Before creating any clusters, install the security context constraint (SCC) for the operator in [scc.yaml](https://github.com/RedisLabs/redis-enterprise-k8s-docs/blob/master/openshift/scc.yaml). -{{}} +> [!WARNING] +> Before creating any clusters, install the security context constraint (SCC) for the operator in [scc.yaml](https://github.com/RedisLabs/redis-enterprise-k8s-docs/blob/master/openshift/scc.yaml). You only need to install the SCC once, but you must not delete it. @@ -66,17 +67,15 @@ You only need to install the SCC once, but you must not delete it. After the install, the OperatorHub automatically uses the constraint for Redis Enterprise node pods. -{{< note >}} -If you are using the recommended RedisEnterpriseCluster name of `rec`, the SCC is automatically bound to the RedisEnterpriseCluster after install. - -If you choose a different name for the RedisEnterpriseCluster, or override the default service account name, you must manually bind the SCC to the RedisEnterpriseCluster’s service account: - - ```sh - oc adm policy add-scc-to-user redis-enterprise-scc-v2 \ - system:serviceaccount:: - ``` - -{{< /note >}} +> [!NOTE] +> If you are using the recommended RedisEnterpriseCluster name of `rec`, the SCC is automatically bound to the RedisEnterpriseCluster after install. +> +> If you choose a different name for the RedisEnterpriseCluster, or override the default service account name, you must manually bind the SCC to the RedisEnterpriseCluster’s service account: +> +> ```sh +> oc adm policy add-scc-to-user redis-enterprise-scc-v2 \ +> system:serviceaccount:: +> ``` ## Create Redis Enterprise custom resources @@ -86,7 +85,7 @@ Use the YAML view to create a custom resource file or let OperatorHub generate t The REC name cannot be changed after cluster creation. -{{}} In versions 6.4.2-4 and 6.4.2-5, REC creation might fail when using the form view due to an error related to the cluster level LDAP. To avoid this, use the YAML view. -{{}} +> [!NOTE] +> In versions 6.4.2-4 and 6.4.2-5, REC creation might fail when using the form view due to an error related to the cluster level LDAP. To avoid this, use the YAML view. -For more information on creating and maintaining Redis Enterprise custom resources, see [Redis Enterprise clusters (REC)]({{< relref "/operate/kubernetes/7.8.6/re-clusters/" >}}) and [Redis Enterprise databases (REDB)]({{< relref "/operate/kubernetes/7.8.6/re-databases/" >}}). +For more information on creating and maintaining Redis Enterprise custom resources, see [Redis Enterprise clusters (REC)](/content/operate/kubernetes/7.8.6/re-clusters/_index.md) and [Redis Enterprise databases (REDB)](/content/operate/kubernetes/7.8.6/re-databases/_index.md). diff --git a/content/operate/kubernetes/7.8.6/deployment/quick-start.md b/content/operate/kubernetes/7.8.6/deployment/quick-start.md index 958728d248..efcad0696d 100644 --- a/content/operate/kubernetes/7.8.6/deployment/quick-start.md +++ b/content/operate/kubernetes/7.8.6/deployment/quick-start.md @@ -18,13 +18,13 @@ To deploy Redis Enterprise Software for Kubernetes and start your Redis Enterpri - Apply the operator bundle and verify it's running. - Create a Redis Enterprise cluster (REC). -This guide works with most supported Kubernetes distributions. If you're using OpenShift, see [Redis Enterprise on OpenShift]({{< relref "/operate/kubernetes/7.8.6/deployment/openshift" >}}). For details on what is currently supported, see [supported distributions]({{< relref "/operate/kubernetes/7.8.6/reference/supported_k8s_distributions.md" >}}). +This guide works with most supported Kubernetes distributions. If you're using OpenShift, see [Redis Enterprise on OpenShift](/content/operate/kubernetes/7.8.6/deployment/openshift/_index.md). For details on what is currently supported, see [supported distributions](/content/operate/kubernetes/7.8.6/reference/supported_k8s_distributions.md). ## Prerequisites To deploy Redis Enterprise for Kubernetes, you'll need: -- Kubernetes cluster in a [supported distribution]({{< relref "/operate/kubernetes/7.8.6/reference/supported_k8s_distributions.md" >}}) +- Kubernetes cluster in a [supported distribution](/content/operate/kubernetes/7.8.6/reference/supported_k8s_distributions.md) - minimum of three worker nodes - Kubernetes client (kubectl) - access to DockerHub, RedHat Container Catalog, or a private repository that can hold the required images. @@ -52,13 +52,12 @@ You can use an existing namespace as long as it does not contain any existing Re ## Install the operator -Redis Enterprise for Kubernetes bundle is published as a container image. A list of required images is available in the [release notes]({{< relref "/operate/kubernetes/release-notes/_index.md" >}}) for each version. +Redis Enterprise for Kubernetes bundle is published as a container image. A list of required images is available in the [release notes](/content/operate/kubernetes/release-notes/_index.md) for each version. The operator [definition and reference materials](https://github.com/RedisLabs/redis-enterprise-k8s-docs) are available on GitHub. The operator definitions are [packaged as a single generic YAML file](https://github.com/RedisLabs/redis-enterprise-k8s-docs/blob/master/bundle.yaml). -{{}} -If you do not pull images from DockerHub or another public registry, you need to use a [private container registry]({{< relref "/operate/kubernetes/7.8.6/deployment/container-images#manage-image-sources" >}}). -{{}} +> [!NOTE] +> If you do not pull images from DockerHub or another public registry, you need to use a [private container registry](/content/operate/kubernetes/7.8.6/deployment/container-images.md#manage-image-sources). ### Download the operator bundle @@ -91,7 +90,8 @@ kubectl apply -f https://raw.githubusercontent.com/RedisLabs/redis-enterprise-k8 deployment.apps/redis-enterprise-operator created ``` -{{}}DO NOT modify or delete the StatefulSet created during the deployment process. Doing so could destroy your Redis Enterprise cluster (REC).{{}} +> [!WARNING] +> DO NOT modify or delete the StatefulSet created during the deployment process. Doing so could destroy your Redis Enterprise cluster (REC). #### Verify the operator is running @@ -113,13 +113,12 @@ redis-enterprise-operator 1/1 1 1 0m36s A Redis Enterprise cluster (REC) is created from a `RedisEnterpriseCluster` custom resource that contains cluster specifications. -The following example creates a minimal Redis Enterprise cluster. See the [RedisEnterpriseCluster API reference]({{}}) for more information on the various options available. +The following example creates a minimal Redis Enterprise cluster. See the [RedisEnterpriseCluster API reference](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_cluster_api.md) for more information on the various options available. 1. Create a file that defines a Redis Enterprise cluster with three nodes. - {{}} -The REC name (`my-rec` in this example) cannot be changed after cluster creation. - {{}} + > [!NOTE] + > The REC name (`my-rec` in this example) cannot be changed after cluster creation. ```sh cat < my-rec.yaml @@ -146,11 +145,10 @@ The REC name (`my-rec` in this example) cannot be changed after cluster creation memory: 16Gi ``` - {{}} -Each cluster must have at least 3 nodes. Single-node RECs are not supported. - {{}} + > [!NOTE] + > Each cluster must have at least 3 nodes. Single-node RECs are not supported. - See the [Redis Enterprise hardware requirements]({{< relref "/operate/rs/installing-upgrading/install/plan-deployment/hardware-requirements.md" >}}) for more information on sizing Redis Enterprise node resource requests. + See the [Redis Enterprise hardware requirements](/content/operate/rs/installing-upgrading/install/plan-deployment/hardware-requirements.md) for more information on sizing Redis Enterprise node resource requests. 1. Apply your custom resource file in the same namespace as `my-rec.yaml`. @@ -258,4 +256,4 @@ The operator bundle includes a webhook file. The webhook will intercept requests You can create multiple databases within the same namespace as your REC or in other namespaces. -See [manage Redis Enterprise databases for Kubernetes]({{< relref "/operate/kubernetes/7.8.6/re-databases/db-controller.md" >}}) to create a new REDB. +See [manage Redis Enterprise databases for Kubernetes](/content/operate/kubernetes/7.8.6/re-databases/db-controller.md) to create a new REDB. diff --git a/content/operate/kubernetes/7.8.6/logs/collect-logs.md b/content/operate/kubernetes/7.8.6/logs/collect-logs.md index 5076855af1..b3b9c5f241 100644 --- a/content/operate/kubernetes/7.8.6/logs/collect-logs.md +++ b/content/operate/kubernetes/7.8.6/logs/collect-logs.md @@ -21,7 +21,8 @@ As of version 6.2.18-3, the log collector tool has two modes: - **all** collects everything from your environment - This is the default mode for versions 6.2.12-1 and earlier -{{}} This script requires Python 3.6 or later. {{}} +> [!NOTE] +> This script requires Python 3.6 or later. 1. Download the latest [`log_collector.py`](https://github.com/RedisLabs/redis-enterprise-k8s-docs/blob/master/log_collector/log_collector.py) file. @@ -34,8 +35,8 @@ As of version 6.2.18-3, the log collector tool has two modes: python log_collector.py ``` - {{< note >}} If you get an error because the yaml module is not found, install the pyYAML module with `pip install pyyaml`. - {{< /note >}} + > [!NOTE] + > If you get an error because the yaml module is not found, install the pyYAML module with `pip install pyyaml`. diff --git a/content/operate/kubernetes/7.8.6/networking/_index.md b/content/operate/kubernetes/7.8.6/networking/_index.md index 435c3c5967..4c6393caa9 100644 --- a/content/operate/kubernetes/7.8.6/networking/_index.md +++ b/content/operate/kubernetes/7.8.6/networking/_index.md @@ -16,7 +16,7 @@ Redis Enterprise for Kubernetes supports several ways to route external traffic - Ingress controllers [HAProxy](https://haproxy-ingress.github.io/) and [Ingress-NGINX](https://kubernetes.github.io/ingress-nginx/) (retired; existing deployments only) require an `ingress` API resource. - [Istio](https://istio.io/latest/docs/setup/getting-started/) requires `Gateway` and `VirtualService` API resources. -- OpenShift uses [routes]({{< relref "/operate/kubernetes/7.8.6/networking/routes.md" >}}) to route external traffic. +- OpenShift uses [routes](/content/operate/kubernetes/7.8.6/networking/routes.md) to route external traffic. - The RedisEnterpriseActiveActiveDatabase (REAADB) requires any of the above routing methods to be configured in the RedisEnterpriseCluster (REC) with the `ingressOrRouteSpec` field. ## External routing using Redis Enterprise for Kubernetes @@ -27,13 +27,13 @@ Redis Enterprise supports three [types of services](https://kubernetes.io/docs/c By default, the operator creates a `ClusterIP` type service, which exposes a cluster-internal IP and that can only be accessed from within the K8s cluster. For requests to be routed from outside the K8s cluster, you need an [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) (or [route](https://docs.openshift.com/container-platform/4.12/networking/routes/route-configuration.html) if you are using OpenShift). See [kubernetes.io](https://kubernetes.io/docs/) for more details on [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) and [Ingress controllers](https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/). -* To use HAProxy as an Ingress controller, see [Ingress routing]({{< relref "/operate/kubernetes/7.8.6/networking/ingress.md" >}}). The community NGINX ingress controller is retired. -* To use OpenShift routes, see [OpenShift routes]({{< relref "/operate/kubernetes/7.8.6/networking/routes.md" >}}). -* To use Istio as an Ingress controller, see [Istio Ingress routing]({{< relref "/operate/kubernetes/7.8.6/networking/istio-ingress.md" >}}) +* To use HAProxy as an Ingress controller, see [Ingress routing](/content/operate/kubernetes/7.8.6/networking/ingress.md). The community NGINX ingress controller is retired. +* To use OpenShift routes, see [OpenShift routes](/content/operate/kubernetes/7.8.6/networking/routes.md). +* To use Istio as an Ingress controller, see [Istio Ingress routing](/content/operate/kubernetes/7.8.6/networking/istio-ingress.md) ## `ingressOrRouteSpec` for Active-Active databases -Versions 6.4.2 or later of Redis Enterprise for Kubernetes include a feature for ingress configuration. The `ingressOrRouteSpec` field is available in the RedisEnterpriseCluster spec to automatically create an Ingress (or route) for the API service and databases (REAADB) on that REC. See [REC external routing]({{< relref "/operate/kubernetes/7.8.6/networking/ingressorroutespec.md" >}}) for more details. +Versions 6.4.2 or later of Redis Enterprise for Kubernetes include a feature for ingress configuration. The `ingressOrRouteSpec` field is available in the RedisEnterpriseCluster spec to automatically create an Ingress (or route) for the API service and databases (REAADB) on that REC. See [REC external routing](/content/operate/kubernetes/7.8.6/networking/ingressorroutespec.md) for more details. This feature only supports automatic Ingress creation for Active-Active databases created and managed with the RedisEnterpriseActiveActiveDatabase (REAADB) custom resource. Use with the standard Redis Enterprise database (REDB) is not currently supported. diff --git a/content/operate/kubernetes/7.8.6/networking/ingress.md b/content/operate/kubernetes/7.8.6/networking/ingress.md index 39e18c6b76..9b16edcc5c 100644 --- a/content/operate/kubernetes/7.8.6/networking/ingress.md +++ b/content/operate/kubernetes/7.8.6/networking/ingress.md @@ -12,9 +12,8 @@ weight: 5 url: '/operate/kubernetes/7.8.6/networking/ingress/' --- -{{}} -The community [Ingress-NGINX controller](https://github.com/kubernetes/ingress-nginx) (`kubernetes/ingress-nginx`) is retired. Best-effort maintenance ended in March 2026 and the project no longer ships releases, bug fixes, or security updates. If you are not already using it, use HAProxy or Istio as shown below, or migrate to a [Gateway API](https://gateway-api.sigs.k8s.io/) implementation. -{{}} +> [!WARNING] +> The community [Ingress-NGINX controller](https://github.com/kubernetes/ingress-nginx) (`kubernetes/ingress-nginx`) is retired. Best-effort maintenance ended in March 2026 and the project no longer ships releases, bug fixes, or security updates. If you are not already using it, use HAProxy or Istio as shown below, or migrate to a [Gateway API](https://gateway-api.sigs.k8s.io/) implementation. ## Prerequisites @@ -24,9 +23,10 @@ Before creating an Ingress, you'll need: - An Ingress controller with `ssl-passthrough` enabled. Options include: - [HAProxy Ingress](https://haproxy-ingress.github.io/docs/getting-started/) - [Ingress-NGINX Controller](https://kubernetes.github.io/ingress-nginx/deploy/) (retired; existing deployments only) - - To use Istio for your Ingress resources, see [Configure Istio for external routing]({{< relref "/operate/kubernetes/7.8.6/networking/istio-ingress.md" >}}) + - To use Istio for your Ingress resources, see [Configure Istio for external routing](/content/operate/kubernetes/7.8.6/networking/istio-ingress.md) -{{}}Make sure your Ingress controller has `ssl-passthrough` enabled. It is on by default for HAProxy and off by default for Ingress-NGINX. For Ingress-NGINX, start the controller with the `--enable-ssl-passthrough` flag. See the [Ingress-NGINX TLS guide](https://kubernetes.github.io/ingress-nginx/user-guide/tls/#ssl-passthrough) for details.{{}} +> [!NOTE] +> Make sure your Ingress controller has `ssl-passthrough` enabled. It is on by default for HAProxy and off by default for Ingress-NGINX. For Ingress-NGINX, start the controller with the `--enable-ssl-passthrough` flag. See the [Ingress-NGINX TLS guide](https://kubernetes.github.io/ingress-nginx/user-guide/tls/#ssl-passthrough) for details. ## Create an Ingress resource diff --git a/content/operate/kubernetes/7.8.6/networking/ingressorroutespec.md b/content/operate/kubernetes/7.8.6/networking/ingressorroutespec.md index bb258fcc7e..3df78f19b8 100644 --- a/content/operate/kubernetes/7.8.6/networking/ingressorroutespec.md +++ b/content/operate/kubernetes/7.8.6/networking/ingressorroutespec.md @@ -12,9 +12,8 @@ url: '/operate/kubernetes/7.8.6/networking/ingressorroutespec/' --- An Ingress is an API resource that provides a standardized and flexible way to manage external access to services running within a Kubernetes cluster. -{{}} -The community [Ingress-NGINX controller](https://github.com/kubernetes/ingress-nginx) (`kubernetes/ingress-nginx`) is retired. Best-effort maintenance ended in March 2026 and the project no longer ships releases, bug fixes, or security updates. If you are not already using it, use HAProxy or Istio, or migrate to a [Gateway API](https://gateway-api.sigs.k8s.io/) implementation. -{{}} +> [!WARNING] +> The community [Ingress-NGINX controller](https://github.com/kubernetes/ingress-nginx) (`kubernetes/ingress-nginx`) is retired. Best-effort maintenance ended in March 2026 and the project no longer ships releases, bug fixes, or security updates. If you are not already using it, use HAProxy or Istio, or migrate to a [Gateway API](https://gateway-api.sigs.k8s.io/) implementation. ## Install Ingress controller @@ -23,7 +22,7 @@ Redis Enterprise for Kubernetes supports the Ingress controllers below: * [Istio](https://istio.io/latest/docs/setup/getting-started/) * [Ingress-NGINX](https://kubernetes.github.io/ingress-nginx/) (retired; existing deployments only) -OpenShift users can use [routes]({{< relref "/operate/kubernetes/7.8.6/networking/routes.md" >}}) instead of an Ingress. +OpenShift users can use [routes](/content/operate/kubernetes/7.8.6/networking/routes.md) instead of an Ingress. Install your chosen Ingress controller, making sure `ssl-passthrough` is enabled. It is on by default for HAProxy and off by default for Ingress-NGINX. For Ingress-NGINX, start the controller with the `--enable-ssl-passthrough` flag. diff --git a/content/operate/kubernetes/7.8.6/networking/istio-ingress.md b/content/operate/kubernetes/7.8.6/networking/istio-ingress.md index 0f26b2ea42..71e5a0dc3a 100644 --- a/content/operate/kubernetes/7.8.6/networking/istio-ingress.md +++ b/content/operate/kubernetes/7.8.6/networking/istio-ingress.md @@ -149,10 +149,10 @@ To configure Istio to work with the Redis Kubernetes operator, we will use two c redis-vs ["redis-gateway"] ["*.istio.k8s.my.example.com"] 3h33m ``` -1. [Deploy the operator]({{< relref "/operate/kubernetes/7.8.6/deployment/quick-start.md" >}}), Redis Enterprise Cluster (REC), and Redis Enterprise Database (REDB) on the same namespace as the gateway and virtual service. +1. [Deploy the operator](/content/operate/kubernetes/7.8.6/deployment/quick-start.md), Redis Enterprise Cluster (REC), and Redis Enterprise Database (REDB) on the same namespace as the gateway and virtual service. ## Test your external access to the database -To [test your external access]({{< relref "/operate/kubernetes/7.8.6/networking/ingress.md" >}}) to the database, you need a client that supports [TLS](https://en.wikipedia.org/wiki/Transport_Layer_Security) and [SNI](https://en.wikipedia.org/wiki/Server_Name_Indication). +To [test your external access](/content/operate/kubernetes/7.8.6/networking/ingress.md) to the database, you need a client that supports [TLS](https://en.wikipedia.org/wiki/Transport_Layer_Security) and [SNI](https://en.wikipedia.org/wiki/Server_Name_Indication). -See [Test your access with Openssl]({{< relref "/operate/kubernetes/7.8.6/networking/ingress#test-your-access-with-openssl" >}}) or [Test your access with Python]({{< relref "/operate/kubernetes/7.8.6/networking/ingress#test-your-access-with-python" >}}) for more info. +See [Test your access with Openssl](/content/operate/kubernetes/7.8.6/networking/ingress.md#test-your-access-with-openssl) or [Test your access with Python](/content/operate/kubernetes/7.8.6/networking/ingress.md#test-your-access-with-python) for more info. diff --git a/content/operate/kubernetes/7.8.6/re-clusters/auto-tiering.md b/content/operate/kubernetes/7.8.6/re-clusters/auto-tiering.md index 90c8961beb..e401627203 100644 --- a/content/operate/kubernetes/7.8.6/re-clusters/auto-tiering.md +++ b/content/operate/kubernetes/7.8.6/re-clusters/auto-tiering.md @@ -15,9 +15,8 @@ url: '/operate/kubernetes/7.8.6/re-clusters/auto-tiering/' Redis Enterprise Software for Kubernetes supports using Auto Tiering (previously known as Redis on Flash), which extends your node memory to use both RAM and flash storage. SSDs (solid state drives) can store infrequently used (warm) values while your keys and frequently used (hot) values are still stored in RAM. This improves performance and lowers costs for large datasets. -{{}} -NVMe (non-volatile memory express) SSDs are strongly recommended to achieve the best performance. -{{}} +> [!NOTE] +> NVMe (non-volatile memory express) SSDs are strongly recommended to achieve the best performance. Before creating your Redis clusters or databases, these SSDs must be: @@ -28,11 +27,11 @@ Before creating your Redis clusters or databases, these SSDs must be: - You can use a [local volume provisioner](https://github.com/kubernetes-sigs/sig-storage-local-static-provisioner/blob/master/README.md) to do this [dynamically](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#dynamic) - a [StorageClass](https://kubernetes.io/docs/concepts/storage/storage-classes/#local) resource with a unique name -For more information on node storage, see [Node persistent and ephemeral storage]({{< relref "/operate/rs/installing-upgrading/install/plan-deployment/persistent-ephemeral-storage" >}}). +For more information on node storage, see [Node persistent and ephemeral storage](/content/operate/rs/installing-upgrading/install/plan-deployment/persistent-ephemeral-storage.md). ## Create a Redis Enterprise cluster -To deploy a Redis Enterprise cluster (REC) with Auto Tiering, you'll need to specify the following in the `redisOnFlashSpec` section of your [REC custom resource]({{< relref "/operate/kubernetes/7.8.6/reference/redis_enterprise_cluster_api" >}}): +To deploy a Redis Enterprise cluster (REC) with Auto Tiering, you'll need to specify the following in the `redisOnFlashSpec` section of your [REC custom resource](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_cluster_api.md): - enable Auto Tiering (`enabled: true`) - flash storage driver (`bigStoreDriver`) @@ -40,9 +39,11 @@ To deploy a Redis Enterprise cluster (REC) with Auto Tiering, you'll need to spe - storage class name (`storageClassName`) - minimal flash disk size (`flashDiskSize`) -{{}} Clusters upgraded to version 7.2.4-2 from an earlier version will change the `bigStoreDriver` (previously called `flashStorageEngine`) to the new default `speedb`, regardless of previous configuration. {{}} +> [!NOTE] +> Clusters upgraded to version 7.2.4-2 from an earlier version will change the `bigStoreDriver` (previously called `flashStorageEngine`) to the new default `speedb`, regardless of previous configuration. -{{}}Switching between storage engines (`speedb` and `rocksdb`) requires guidance by Redis Support or your Account Manager.{{}} +> [!WARNING] +> Switching between storage engines (`speedb` and `rocksdb`) requires guidance by Redis Support or your Account Manager. Here is an example of an REC custom resource with these attributes: @@ -83,6 +84,5 @@ spec: rofRamSize: 0.5GB ``` -{{< note >}} -This example defines both `memorySize` and `rofRamSize`. When using Auto Tiering, `memorySize` refers to the total combined memory size (RAM + flash) allocated for the database. `rofRamSize` specifies only the RAM capacity for the database. `rofRamSize` must be at least 10% of `memorySize`. -{{< /note >}} +> [!NOTE] +> This example defines both `memorySize` and `rofRamSize`. When using Auto Tiering, `memorySize` refers to the total combined memory size (RAM + flash) allocated for the database. `rofRamSize` specifies only the RAM capacity for the database. `rofRamSize` must be at least 10% of `memorySize`. diff --git a/content/operate/kubernetes/7.8.6/re-clusters/cluster-recovery.md b/content/operate/kubernetes/7.8.6/re-clusters/cluster-recovery.md index b5f8d3bc38..2feaf401de 100644 --- a/content/operate/kubernetes/7.8.6/re-clusters/cluster-recovery.md +++ b/content/operate/kubernetes/7.8.6/re-clusters/cluster-recovery.md @@ -23,11 +23,12 @@ The Redis Enterprise for Kubernetes automates these recovery steps: 1. Recovers the cluster configuration on the first node in the new cluster 1. Joins the remaining nodes to the new cluster. -{{}}Redis Enterprise for Kubernetes 7.2.4-2 introduces a new limitation. You cannot recover or upgrade your cluster if there are databases with old module versions or manually uploaded modules. See the [Redis Enterprise Software 7.2.4 known limitations]({{< relref "/operate/rs/release-notes/rs-7-2-4-releases/rs-7-2-4-52#cluster-recovery-with-manually-uploaded-modules" >}}) for more details.{{}} +> [!WARNING] +> Redis Enterprise for Kubernetes 7.2.4-2 introduces a new limitation. You cannot recover or upgrade your cluster if there are databases with old module versions or manually uploaded modules. See the [Redis Enterprise Software 7.2.4 known limitations](/content/operate/rs/release-notes/rs-7-2-4-releases/rs-7-2-4-52.md#cluster-recovery-with-manually-uploaded-modules) for more details. ## Prerequisites -- For cluster recovery, the cluster must be [deployed with persistence]({{< relref "/operate/kubernetes/7.8.6/recommendations/persistent-volumes.md" >}}). +- For cluster recovery, the cluster must be [deployed with persistence](/content/operate/kubernetes/7.8.6/recommendations/persistent-volumes.md). ## Recover a cluster @@ -46,4 +47,4 @@ The Redis Enterprise for Kubernetes automates these recovery steps: watch "kubectl describe rec | grep State" ``` -1. To recover the database, see [Recover a failed database]({{< relref "/operate/rs/databases/recover.md" >}}). +1. To recover the database, see [Recover a failed database](/content/operate/rs/databases/recover.md). diff --git a/content/operate/kubernetes/7.8.6/re-clusters/connect-prometheus-operator.md b/content/operate/kubernetes/7.8.6/re-clusters/connect-prometheus-operator.md index b480561332..82d6b097ef 100644 --- a/content/operate/kubernetes/7.8.6/re-clusters/connect-prometheus-operator.md +++ b/content/operate/kubernetes/7.8.6/re-clusters/connect-prometheus-operator.md @@ -18,9 +18,9 @@ To collect metrics data from your databases and Redis Enterprise cluster (REC), Before connecting Redis Enterprise to Prometheus on your Kubernetes cluster, make sure you've done the following: -- [Deploy Redis Enterprise for Kubernetes]({{< relref "/operate/kubernetes/7.8.6/deployment/quick-start.md" >}}) (version 6.2.10-4 or newer) +- [Deploy Redis Enterprise for Kubernetes](/content/operate/kubernetes/7.8.6/deployment/quick-start.md) (version 6.2.10-4 or newer) - [Deploy the Prometheus operator](https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/user-guides/getting-started.md) (version 0.19.0 or newer) -- [Create a Redis Enterprise cluster]({{< relref "/operate/kubernetes/7.8.6/deployment/quick-start#create-a-redis-enterprise-cluster-rec" >}}) +- [Create a Redis Enterprise cluster](/content/operate/kubernetes/7.8.6/deployment/quick-start.md#create-a-redis-enterprise-cluster-rec) ## Create a `ServiceMonitor` custom resource @@ -35,7 +35,8 @@ You'll need to configure the following fields to connect Prometheus to Redis Ent | `spec.selector` | `matchLabels` | REC service label (`app: redis.io/service=prom-metrics`) | Apply the file in the same namespace as your Redis Enterprise cluster (REC). - {{}}If Redis Enterprise and Prometheus are deployed in different namespaces, you'll also need to add the [`serviceMonitorNamespaceSelector`](https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#namespaceselector) field to your Prometheus resource. See the [Prometheus operator documentation](https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/user-guides/getting-started.md#related-resources) for more details on cross-namespace `ServiceMonitor` configuration.{{}} +> [!NOTE] +> If Redis Enterprise and Prometheus are deployed in different namespaces, you'll also need to add the [`serviceMonitorNamespaceSelector`](https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#namespaceselector) field to your Prometheus resource. See the [Prometheus operator documentation](https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/user-guides/getting-started.md#related-resources) for more details on cross-namespace `ServiceMonitor` configuration. ```YAML @@ -67,5 +68,5 @@ For more info about configuring the `ServiceMonitor` resource, see the [`Service - [Running exporters](https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/user-guides/running-exporters.md) - [Troubleshooting ServiceMonitor changes](https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/platform/troubleshooting.md#troubleshooting-servicemonitor-changes) - redis.io/docs - - [Metrics in Prometheus]({{< relref "/integrate/prometheus-with-redis-enterprise/prometheus-metrics-definitions" >}}) - - [Monitoring and metrics]({{< relref "/operate/rs/monitoring/" >}}) + - [Metrics in Prometheus](/content/integrate/prometheus-with-redis-enterprise/prometheus-metrics-definitions.md) + - [Monitoring and metrics](/content/operate/rs/monitoring/_index.md) diff --git a/content/operate/kubernetes/7.8.6/re-clusters/connect-to-admin-console.md b/content/operate/kubernetes/7.8.6/re-clusters/connect-to-admin-console.md index 11fb1c100d..06374ee939 100644 --- a/content/operate/kubernetes/7.8.6/re-clusters/connect-to-admin-console.md +++ b/content/operate/kubernetes/7.8.6/re-clusters/connect-to-admin-console.md @@ -12,11 +12,10 @@ weight: 10 url: '/operate/kubernetes/7.8.6/re-clusters/connect-to-admin-console/' --- -The username and password for the Redis Enterprise Software [admin console]({{< relref "/operate/rs/" >}}) are stored in a Kubernetes [secret](https://kubernetes.io/docs/concepts/configuration/secret/). After retrieving your credentials, you can use port forwarding to connect to the admin console. +The username and password for the Redis Enterprise Software [admin console](/content/operate/rs/_index.md) are stored in a Kubernetes [secret](https://kubernetes.io/docs/concepts/configuration/secret/). After retrieving your credentials, you can use port forwarding to connect to the admin console. -{{}} -There are several methods for accessing the admin console. Port forwarding is the simplest, but not the most efficient method for long-term use. You could also use a load balancer service or Ingress. -{{}} +> [!NOTE] +> There are several methods for accessing the admin console. Port forwarding is the simplest, but not the most efficient method for long-term use. You could also use a load balancer service or Ingress. 1. Switch to the namespace with your Redis Enterprise cluster (REC). @@ -45,9 +44,8 @@ There are several methods for accessing the admin console. Port forwarding is th kubectl get service/-ui -o yaml ``` - {{}} - The default port is 8443. - {{}} + > [!NOTE] + > The default port is 8443. 1. Use `kubectl port-forward` to forward your local port to the service port. diff --git a/content/operate/kubernetes/7.8.6/re-clusters/delete-custom-resources.md b/content/operate/kubernetes/7.8.6/re-clusters/delete-custom-resources.md index ebbfba724b..cd2f4a0648 100644 --- a/content/operate/kubernetes/7.8.6/re-clusters/delete-custom-resources.md +++ b/content/operate/kubernetes/7.8.6/re-clusters/delete-custom-resources.md @@ -51,7 +51,8 @@ To delete the operator from your K8s cluster, you can delete the operator bundle This will remove the operator and its custom resource definitions (CRDs) from your K8s cluster. -{{< warning >}} The Redis Enterprise CRDs are non-namespaced resources, meaning they are shared across your entire K8s cluster. Deleting CRDs in one namespace will delete custom resources in every other namespace across the K8s cluster.{{}} +> [!WARNING] +> The Redis Enterprise CRDs are non-namespaced resources, meaning they are shared across your entire K8s cluster. Deleting CRDs in one namespace will delete custom resources in every other namespace across the K8s cluster. ### Delete operator from one namespace @@ -67,7 +68,7 @@ kubectl delete -f admission-service.yaml kubectl delete -f operator.yaml ``` -You will also need to remove [the `namespaceSelector` section from the validating webhook]({{< relref "/operate/kubernetes/7.8.6/deployment/quick-start#webhook" >}}). +You will also need to remove [the `namespaceSelector` section from the validating webhook](/content/operate/kubernetes/7.8.6/deployment/quick-start.md#webhook). ## Delete an Active-Active database (REAADB) @@ -109,7 +110,8 @@ If the operator isn't running, or some other fatal error occurs, the finalizer i If this happens, you can remove the finalizer manually. -{{}} If you remove the finalizer manually, there is no guarantee that the underlying REDB has been deleted. This may cause resource issues and require manual intervention. {{}} +> [!WARNING] +> If you remove the finalizer manually, there is no guarantee that the underlying REDB has been deleted. This may cause resource issues and require manual intervention. ```sh kubectl patch redb --type=json -p \ @@ -124,7 +126,8 @@ If the operator isn't running, or some other fatal error occurs, the finalizer i If this happens, you can remove the finalizer manually. -{{}} If you remove the finalizer manually, there is no guarantee that the underlying REC has been deleted. This may cause resource issues and require manual intervention. {{}} +> [!WARNING] +> If you remove the finalizer manually, there is no guarantee that the underlying REC has been deleted. This may cause resource issues and require manual intervention. ```sh kubectl patch rec --type=json -p \ diff --git a/content/operate/kubernetes/7.8.6/re-clusters/expand-pvc.md b/content/operate/kubernetes/7.8.6/re-clusters/expand-pvc.md index 16db42dbe9..70e2cf564e 100644 --- a/content/operate/kubernetes/7.8.6/re-clusters/expand-pvc.md +++ b/content/operate/kubernetes/7.8.6/re-clusters/expand-pvc.md @@ -13,18 +13,20 @@ url: '/operate/kubernetes/7.8.6/re-clusters/expand-pvc/' This article outlines steps to increase the size of the persistent volume claim for your Redis Enterprise cluster (REC). -{{}} This feature is only supported in versions 7.4.2-12 and above. {{}} +> [!NOTE] +> This feature is only supported in versions 7.4.2-12 and above. [PersistentVolumeClaims (PVC)](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#expanding-persistent-volumes-claims) are created by the Redis Enterprise operator and used by the RedisEnterpriseCluster (REC). PVCs are created with a specific size and [can be expanded](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#expanding-persistent-volumes-claims) with the following steps, if the underlying [storage class](https://kubernetes.io/docs/concepts/storage/storage-classes/) supports it. This process involves deleting and recreating the REC StatefulSet with a larger persistent volume size. The pods owned by the StatefulSet are not restarted or affected by the deletion and recreation process, except when they are left without an owner momentarily. -{{}}Shrinking (reducing the size) of your PVC is not allowed. This process only allows you to expand (size up) your PVC.{{}} +> [!NOTE] +> Shrinking (reducing the size) of your PVC is not allowed. This process only allows you to expand (size up) your PVC. ## Prerequisites -{{}}Do not change any other REC fields related to the StatefulSet while resizing is in progress. -{{}} +> [!WARNING] +> Do not change any other REC fields related to the StatefulSet while resizing is in progress. - PVC expansion must be supported and enabled by the StorageClass and underlying storage driver of the REC PVCs. - The relevant StorageClass is the one associated with the REC PVCs. The StorageClass for existing PVCs cannot be changed. @@ -32,7 +34,8 @@ This process involves deleting and recreating the REC StatefulSet with a larger - Your storage driver must support online expansion. - We highly recommend you backup your databases before beginning this PVC expansion process. -{{}} OpenShift users should be aware that (`ClusterResourceQuota`) can limit the PVC expansion. Check your quota before resizing using `oc describe clusterresourcequota `.{{}} +> [!WARNING] +> OpenShift users should be aware that (`ClusterResourceQuota`) can limit the PVC expansion. Check your quota before resizing using `oc describe clusterresourcequota `. ## Expand REC PVC diff --git a/content/operate/kubernetes/7.8.6/re-clusters/multi-namespace.md b/content/operate/kubernetes/7.8.6/re-clusters/multi-namespace.md index 0a0c3a6c3a..03fdd81530 100644 --- a/content/operate/kubernetes/7.8.6/re-clusters/multi-namespace.md +++ b/content/operate/kubernetes/7.8.6/re-clusters/multi-namespace.md @@ -15,19 +15,21 @@ url: '/operate/kubernetes/7.8.6/re-clusters/multi-namespace/' Multiple Redis Enterprise database resources (REDBs) can be associated with a single Redis Enterprise cluster resource (REC) even if they reside in different namespaces. -To learn more about designing a multi-namespace Redis Enterprise cluster, see [flexible deployment options]({{< relref "/operate/kubernetes/7.8.6/architecture/deployment-options.md" >}}). +To learn more about designing a multi-namespace Redis Enterprise cluster, see [flexible deployment options](/content/operate/kubernetes/7.8.6/architecture/deployment-options.md). -{{}} Multi-namespace installations don't support Active-Active databases (REAADB). Only databases created with the REDB resource are supported in multi-namespace deployments at this time.{{}} +> [!WARNING] +> Multi-namespace installations don't support Active-Active databases (REAADB). Only databases created with the REDB resource are supported in multi-namespace deployments at this time. ## Prerequisites -Before configuring a multi-namespace deployment, you must have a running [Redis Enterprise cluster (REC)]({{< relref "/operate/kubernetes/7.8.6/deployment/quick-start.md" >}}). See more information in the [deployment]({{< relref "/operate/kubernetes/7.8.6/deployment/" >}}) section. +Before configuring a multi-namespace deployment, you must have a running [Redis Enterprise cluster (REC)](/content/operate/kubernetes/7.8.6/deployment/quick-start.md). See more information in the [deployment](/content/operate/kubernetes/7.8.6/deployment/_index.md) section. ## Create role and role binding for managed namespaces Both the operator and the RedisEnterpriseCluster (REC) resource need access to each namespace the REC will manage. For each **managed** namespace, create a `role.yaml` and `role_binding.yaml` file within the managed namespace, as shown in the examples below. -{{}}These will need to be reapplied each time you [upgrade]({{< relref "/operate/kubernetes/7.8.6/upgrade/upgrade-redis-cluster.md" >}}). {{}} +> [!NOTE] +> These will need to be reapplied each time you [upgrade](/content/operate/kubernetes/7.8.6/upgrade/upgrade-redis-cluster.md). Replace `` with the namespace the REC resides in. Replace `` with your own value (defaults to the REC name). @@ -95,9 +97,8 @@ kubectl apply -f role.yaml -n kubectl apply -f role_binding.yaml -n ``` -{{}} -If the REC is configured to watch a namespace without setting the role and role binding permissions, or a namespace that is not yet created, the operator will fail and halt normal operations. -{{}} +> [!NOTE] +> If the REC is configured to watch a namespace without setting the role and role binding permissions, or a namespace that is not yet created, the operator will fail and halt normal operations. ## Update Redis Enterprise operator ConfigMap @@ -171,9 +172,8 @@ You can create this ConfigMap manually before deployment, or it will be created kubectl label namespace = ``` -{{}} -The operator restarts when it detects a namespace label was added or removed. -{{}} +> [!NOTE] +> The operator restarts when it detects a namespace label was added or removed. ### Method 2: Explicit namespace list @@ -186,6 +186,5 @@ kubectl patch ConfigMap/operator-environment-config \ -p '{"data":{"REDB_NAMESPACES": "}} -Only configure the operator to watch a namespace after the namespace is created and configured with the role/role_binding as explained above. If configured to watch a namespace without setting those permissions or a namespace that is not created yet, the operator will fail and not perform normal operations. -{{}} +> [!WARNING] +> Only configure the operator to watch a namespace after the namespace is created and configured with the role/role_binding as explained above. If configured to watch a namespace without setting those permissions or a namespace that is not created yet, the operator will fail and not perform normal operations. diff --git a/content/operate/kubernetes/7.8.6/re-databases/db-controller.md b/content/operate/kubernetes/7.8.6/re-databases/db-controller.md index f88b82c5e2..84e18a04a8 100644 --- a/content/operate/kubernetes/7.8.6/re-databases/db-controller.md +++ b/content/operate/kubernetes/7.8.6/re-databases/db-controller.md @@ -27,13 +27,13 @@ the custom resource with default values to create a full specification. It then database on the specified Redis Enterprise cluster (REC). Once the database is created, it is exposed with the same service mechanisms by the service rigger for the Redis Enterprise cluster. -If the database [custom resource is deleted]({{< relref "/operate/kubernetes/7.8.6/re-clusters/delete-custom-resources" >}}), the database and its services are deleted from the cluster. +If the database [custom resource is deleted](/content/operate/kubernetes/7.8.6/re-clusters/delete-custom-resources.md), the database and its services are deleted from the cluster. ### Flexible deployment options -Databases in multiple namespaces can be managed by the same operator. To learn more, see [Manage databases in multiple namespaces]({{}}). +Databases in multiple namespaces can be managed by the same operator. To learn more, see [Manage databases in multiple namespaces](/content/operate/kubernetes/7.8.6/re-clusters/multi-namespace.md). -To learn more about designing a multi-namespace Redis Enterprise cluster, see [flexible deployment options]({{< relref "/operate/kubernetes/7.8.6/architecture/deployment-options.md" >}}). +To learn more about designing a multi-namespace Redis Enterprise cluster, see [flexible deployment options](/content/operate/kubernetes/7.8.6/architecture/deployment-options.md). ## Create a database @@ -85,7 +85,7 @@ To modify the database: ``` 1. Change the specification (only properties in `spec` section) and save the changes. - For more details, see [RedisEnterpriseDatabaseSpec](https://github.com/RedisLabs/redis-enterprise-k8s-docs/blob/master/redis_enterprise_database_api.md#redisenterprisedatabasespec) or [Options for Redis Enterprise databases]({{< relref "/operate/kubernetes/7.8.6/reference/redis_enterprise_database_api" >}}). + For more details, see [RedisEnterpriseDatabaseSpec](https://github.com/RedisLabs/redis-enterprise-k8s-docs/blob/master/redis_enterprise_database_api.md#redisenterprisedatabasespec) or [Options for Redis Enterprise databases](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_database_api.md). 1. Monitor the status to see when the changes take effect: @@ -118,9 +118,8 @@ Connection information for the database is stored in a Kubernetes [secret](https The name of that secret is stored in the database custom resource. -{{}} -Use these steps to connect to your database from within your K8s cluster. To access your database from outside the K8s cluster, set up the [Ingress]({{< relref "/operate/kubernetes/7.8.6/networking/ingress.md" >}}) controller or use OpenShift routes. -{{}} +> [!NOTE] +> Use these steps to connect to your database from within your K8s cluster. To access your database from outside the K8s cluster, set up the [Ingress](/content/operate/kubernetes/7.8.6/networking/ingress.md) controller or use OpenShift routes. 1. Retrieve the secret name. diff --git a/content/operate/kubernetes/7.8.6/re-databases/replica-redb.md b/content/operate/kubernetes/7.8.6/re-databases/replica-redb.md index ac16160b1f..da16c39d8c 100644 --- a/content/operate/kubernetes/7.8.6/re-databases/replica-redb.md +++ b/content/operate/kubernetes/7.8.6/re-databases/replica-redb.md @@ -12,7 +12,7 @@ url: '/operate/kubernetes/7.8.6/re-databases/replica-redb/' --- You can configure a replica of a database by creating an item in -the [`replicaSources`]({{< relref "/operate/kubernetes/reference/api/redis_enterprise_database_api#specreplicasources" >}}) section of the RedisEnterpriseDatabase (REDB)custom resource. +the [`replicaSources`](/content/operate/kubernetes/reference/api/redis_enterprise_database_api.md#specreplicasources) section of the RedisEnterpriseDatabase (REDB)custom resource. A secret must be created with the `stringData` section containing the replica source URI as follows: diff --git a/content/operate/kubernetes/7.8.6/recommendations/node-selection.md b/content/operate/kubernetes/7.8.6/recommendations/node-selection.md index fdd57ab07b..ba8ae44f4c 100644 --- a/content/operate/kubernetes/7.8.6/recommendations/node-selection.md +++ b/content/operate/kubernetes/7.8.6/recommendations/node-selection.md @@ -29,7 +29,7 @@ Here are the ways that you can control the pod scheduling: ## Using node selectors -The [`nodeSelector`]({{}}) +The [`nodeSelector`](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_cluster_api.md#spec) property of the cluster specification uses the same values and structures as the [Kubernetes `nodeSelector`](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector). In general, node labels are a simple way to make sure that specific nodes are used for Redis Enterprise pods. @@ -184,7 +184,8 @@ In this case, any pods that are deployed with the label `local/role: database` c You can configure Redis Enterprise with rack-zone awareness to increase availability during partitions or other rack (or region) related failures. -{{%note%}}When creating your rack-zone ID, there are some constraints to consider; see [rack-zone awareness]({{< relref "/operate/rs/clusters/configure/rack-zone-awareness#rack-zone-id-rules" >}}) for more info. {{%/note%}} +> [!NOTE] +> When creating your rack-zone ID, there are some constraints to consider; see [rack-zone awareness](/content/operate/rs/clusters/configure/rack-zone-awareness.md#rack-zone-id-rules) for more info. Rack-zone awareness is a single property in the Redis Enterprise cluster CRD named `rackAwarenessNodeLabel`. @@ -266,6 +267,5 @@ spec: rackAwarenessNodeLabel: topology.kubernetes.io/zone ``` -{{< note >}} -When you use the `rackAwarenessNodeLabel` property, the operator will change the topologyKey for the anti-affinity rule to the label name used unless you have specified the `podAntiAffinity` property as well. If you use `rackAwarenessNodeLabel` and `podAntiAffinity` together, you must make sure that the `topologyKey` in your pod anti-affinity rule is set to the node label name. -{{< /note >}} +> [!NOTE] +> When you use the `rackAwarenessNodeLabel` property, the operator will change the topologyKey for the anti-affinity rule to the label name used unless you have specified the `podAntiAffinity` property as well. If you use `rackAwarenessNodeLabel` and `podAntiAffinity` together, you must make sure that the `topologyKey` in your pod anti-affinity rule is set to the node label name. diff --git a/content/operate/kubernetes/7.8.6/recommendations/persistent-volumes.md b/content/operate/kubernetes/7.8.6/recommendations/persistent-volumes.md index 28a026ae05..06ed2adaeb 100644 --- a/content/operate/kubernetes/7.8.6/recommendations/persistent-volumes.md +++ b/content/operate/kubernetes/7.8.6/recommendations/persistent-volumes.md @@ -15,9 +15,8 @@ url: '/operate/kubernetes/7.8.6/recommendations/persistent-volumes/' Redis Enterprise for Kubernetes can only use storage classes supported by block storage. Block storage is mounted at the Kubernetes node level and utilizes EXT4 or XFS file systems. It can be sourced from enterprise-grade SANs or cloud environments such as EBS, Azure Managed Disks, or GCP persistent disks. -{{}} -NFS, NFS-like, and multi-read-write/shared storage options are not supported. These types of storage are often slow and can cause locking behaviors that are incompatible with the requirements of database storage. -{{}} +> [!WARNING] +> NFS, NFS-like, and multi-read-write/shared storage options are not supported. These types of storage are often slow and can cause locking behaviors that are incompatible with the requirements of database storage. ## REC `persistentSpec` field To deploy a Redis Enterprise cluster with Redis Enterprise operator the @@ -33,11 +32,10 @@ spec should include a *persistentSpec* section, in the Persistence storage is a requirement for production deployments. -{{< note >}} -For **production deployments** of Redis Enterprise Cluster on Kubernetes, -the Redis Enterprise Cluster (REC) must be deployed with persistence enabled. -The REC deployment files in the [Kubernetes documentation](https://github.com/RedisLabs/redis-enterprise-k8s-docs) contain this declaration by default. -{{< /note >}} +> [!NOTE] +> For **production deployments** of Redis Enterprise Cluster on Kubernetes, +> the Redis Enterprise Cluster (REC) must be deployed with persistence enabled. +> The REC deployment files in the [Kubernetes documentation](https://github.com/RedisLabs/redis-enterprise-k8s-docs) contain this declaration by default. ## Volume size @@ -45,17 +43,16 @@ The REC deployment files in the [Kubernetes documentation](https://github.com/Re omitted, operator allocates five times (5x) the amount of memory (RAM) defined for nodes (see example below), which is the recommended persistent storage size as described in the [Hardware -requirements]({{< relref "/operate/rs/installing-upgrading/install/plan-deployment/hardware-requirements.md" >}}) article. +requirements](/content/operate/rs/installing-upgrading/install/plan-deployment/hardware-requirements.md) article. To explicitly specify the persistent storage size, use the *volumeSize* property as described in the example above. -Persistent volume claims can be expanded, but not reduced after creation. See [Expand PersistentVolumeClaim (PVC)]({{}}) for details. +Persistent volume claims can be expanded, but not reduced after creation. See [Expand PersistentVolumeClaim (PVC)](/content/operate/kubernetes/7.8.6/re-clusters/expand-pvc.md) for details. -{{< note >}} -We recommend that you omit the volumeSize definition from the REC declaration -so that the Redis Enterprise Cluster deployment on Kubernetes use the default volume size. -{{< /note >}} +> [!NOTE] +> We recommend that you omit the volumeSize definition from the REC declaration +> so that the Redis Enterprise Cluster deployment on Kubernetes use the default volume size. ## Storage class name @@ -89,13 +86,11 @@ Below is an example of a response to the command. | *VolumeBindingMode:* | *Immediate* | | *Events:* | *\* | -{{< note >}} -storageClassName must be specified for this deployment type. -{{< /note >}} +> [!NOTE] +> storageClassName must be specified for this deployment type. -{{< warning >}} -The storage class cannot be changed after deployment. Trying to change this value after deployment could result in unexpected and potentially damaging behavior. -{{< /warning >}} +> [!WARNING] +> The storage class cannot be changed after deployment. Trying to change this value after deployment could result in unexpected and potentially damaging behavior. Example of the redisEnterpriseNodeResources definition: diff --git a/content/operate/kubernetes/7.8.6/recommendations/sizing-on-kubernetes.md b/content/operate/kubernetes/7.8.6/recommendations/sizing-on-kubernetes.md index b7e6656c89..40d205ba63 100644 --- a/content/operate/kubernetes/7.8.6/recommendations/sizing-on-kubernetes.md +++ b/content/operate/kubernetes/7.8.6/recommendations/sizing-on-kubernetes.md @@ -15,7 +15,7 @@ The following article reviews the mechanism and methods available for sizing and scaling a Redis Enterprise cluster deployment. For minimum and recommended sizing, always follow the sizing guidelines -detailed in the [Redis Enterprise hardware requirements]({{< relref "/operate/rs/installing-upgrading/install/plan-deployment/hardware-requirements.md" >}}). +detailed in the [Redis Enterprise hardware requirements](/content/operate/rs/installing-upgrading/install/plan-deployment/hardware-requirements.md). ## Sizing and scaling cluster nodes @@ -51,7 +51,8 @@ To apply the new cluster configuration run: kubectl apply -f redis-enterprise-cluster.yaml -{{}} Decreasing the number of nodes is not supported.{{}} +> [!WARNING] +> Decreasing the number of nodes is not supported. ### Sizing compute resources @@ -113,9 +114,8 @@ Then, apply the file by running: kubectl apply -f redis-enterprise-cluster.yaml -{{< warning >}} -When adjusting compute resources, make sure the ratio of persistent volume size and the new memory size are in accordance to the [Hardware -requirements]({{< relref "/operate/rs/installing-upgrading/install/plan-deployment/hardware-requirements.md" >}}). - -Persistent volume claims can be expanded, but not reduced after creation. See [Expand PersistentVolumeClaim (PVC)]({{}}) for details. -{{< /warning >}} +> [!WARNING] +> When adjusting compute resources, make sure the ratio of persistent volume size and the new memory size are in accordance to the [Hardware +> requirements](/content/operate/rs/installing-upgrading/install/plan-deployment/hardware-requirements.md). +> +> Persistent volume claims can be expanded, but not reduced after creation. See [Expand PersistentVolumeClaim (PVC)](/content/operate/kubernetes/7.8.6/re-clusters/expand-pvc.md) for details. diff --git a/content/operate/kubernetes/7.8.6/reference/supported_k8s_distributions.md b/content/operate/kubernetes/7.8.6/reference/supported_k8s_distributions.md index 2b83ddfe8a..5c05ba90e3 100644 --- a/content/operate/kubernetes/7.8.6/reference/supported_k8s_distributions.md +++ b/content/operate/kubernetes/7.8.6/reference/supported_k8s_distributions.md @@ -13,7 +13,8 @@ url: '/operate/kubernetes/7.8.6/reference/supported_k8s_distributions/' Each release of Redis Enterprise for Kubernetes is thoroughly tested against a set of Kubernetes distributions. The table below lists Redis Enterprise for Kubernetes versions and the Kubernetes distributions they support. -{{}}Each platform is tested with its default configuration, including storage, network, security, and container runtime components."{{}} +> [!NOTE] +> Each platform is tested with its default configuration, including storage, network, security, and container runtime components." ✅ Supported – This distribution is supported for this version of Redis Enterprise Software for Kubernetes. diff --git a/content/operate/kubernetes/7.8.6/security/internode-encryption.md b/content/operate/kubernetes/7.8.6/security/internode-encryption.md index e19905e3fb..97c8862660 100644 --- a/content/operate/kubernetes/7.8.6/security/internode-encryption.md +++ b/content/operate/kubernetes/7.8.6/security/internode-encryption.md @@ -28,4 +28,4 @@ spec: dataInternodeEncryption: false ``` -To learn more about internode encryption, see [Internode encryption for Redis Enterprise Software]({{< relref "/operate/rs/security/encryption/internode-encryption.md" >}}). +To learn more about internode encryption, see [Internode encryption for Redis Enterprise Software](/content/operate/rs/security/encryption/internode-encryption.md). diff --git a/content/operate/kubernetes/7.8.6/security/ldap.md b/content/operate/kubernetes/7.8.6/security/ldap.md index 81ff3c1797..68fbbc2a60 100644 --- a/content/operate/kubernetes/7.8.6/security/ldap.md +++ b/content/operate/kubernetes/7.8.6/security/ldap.md @@ -13,11 +13,11 @@ url: '/operate/kubernetes/7.8.6/security/ldap/' ## LDAP support for Redis Enterprise Software -Redis Enterprise Software supports LDAP authentication and authorization through [role-based access controls]({{< relref "/operate/rs/security/access-control/" >}}) (RBAC). You can map LDAP groups to [Redis Enterprise roles]({{< relref "/operate/rs/security/access-control" >}}) to control access to your database and the Cluster Manager UI. For more details on how LDAP works with Redis Enterprise, see [LDAP authentication]({{< relref "/operate/rs/security/access-control/ldap/" >}}). +Redis Enterprise Software supports LDAP authentication and authorization through [role-based access controls](/content/operate/rs/security/access-control/_index.md) (RBAC). You can map LDAP groups to [Redis Enterprise roles](/content/operate/rs/security/access-control/_index.md) to control access to your database and the Cluster Manager UI. For more details on how LDAP works with Redis Enterprise, see [LDAP authentication](/content/operate/rs/security/access-control/ldap/_index.md). Redis Enterprise for Kubernetes supports enabling and configuring LDAP authentication using the `RedisEnterpriseCluster` (REC) custom resource. Currently, the Redis Enterprise cluster (REC) only supports configuration related to the LDAP server, such as server addresses, connection details, credentials, and query configuration. -To [map LDAP groups to Redis Enterprise access control roles]({{< relref "/operate/rs/security/access-control/ldap/enable-role-based-ldap.md" >}}), you'll need to use the Redis Enterprise [API]({{< relref "/operate/rs/references/rest-api/requests/ldap_mappings/" >}}) or [admin console]({{< relref "/operate/rs/security/access-control/ldap/enable-role-based-ldap.md" >}}). +To [map LDAP groups to Redis Enterprise access control roles](/content/operate/rs/security/access-control/ldap/enable-role-based-ldap.md), you'll need to use the Redis Enterprise [API](/content/operate/rs/references/rest-api/requests/ldap_mappings/_index.md) or [admin console](/content/operate/rs/security/access-control/ldap/enable-role-based-ldap.md). ## Enable LDAP @@ -163,6 +163,6 @@ Redis Enterprise Software can't resolve DNS names with a `.local` suffix. ## Next steps -To [map LDAP groups to Redis Enterprise access control roles]({{< relref "/operate/rs/security/access-control/ldap/enable-role-based-ldap.md" >}}), you'll need to use the Redis Enterprise [API]({{< relref "/operate/rs/references/rest-api/requests/ldap_mappings/" >}}) or [admin console]({{< relref "/operate/rs/security/access-control/ldap/enable-role-based-ldap.md" >}}). +To [map LDAP groups to Redis Enterprise access control roles](/content/operate/rs/security/access-control/ldap/enable-role-based-ldap.md), you'll need to use the Redis Enterprise [API](/content/operate/rs/references/rest-api/requests/ldap_mappings/_index.md) or [admin console](/content/operate/rs/security/access-control/ldap/enable-role-based-ldap.md). -For more details on how LDAP works with Redis Enterprise, see [LDAP authentication]({{< relref "/operate/rs/security/access-control/ldap/" >}}). +For more details on how LDAP works with Redis Enterprise, see [LDAP authentication](/content/operate/rs/security/access-control/ldap/_index.md). diff --git a/content/operate/kubernetes/7.8.6/security/manage-rec-certificates.md b/content/operate/kubernetes/7.8.6/security/manage-rec-certificates.md index 1542ac9391..9d0961ba08 100644 --- a/content/operate/kubernetes/7.8.6/security/manage-rec-certificates.md +++ b/content/operate/kubernetes/7.8.6/security/manage-rec-certificates.md @@ -12,7 +12,7 @@ weight: 94 url: '/operate/kubernetes/7.8.6/security/manage-rec-certificates/' --- -By default, Redis Enterprise Software for Kubernetes generates TLS certificates for the cluster during creation. These self-signed certificates are generated on the first node of each Redis Enterprise cluster (REC) and are copied to all other nodes added to the cluster. For the list of of certificates used by Redis Enterprise Software and the traffic they encrypt, see the [certificates table]({{< relref "/operate/rs/security/certificates" >}}). +By default, Redis Enterprise Software for Kubernetes generates TLS certificates for the cluster during creation. These self-signed certificates are generated on the first node of each Redis Enterprise cluster (REC) and are copied to all other nodes added to the cluster. For the list of of certificates used by Redis Enterprise Software and the traffic they encrypt, see the [certificates table](/content/operate/rs/security/certificates/_index.md). To install and use your own certificates with Kubernetes on your Redis Enterprise cluster, they need to be stored in [secrets](https://kubernetes.io/docs/concepts/configuration/secret/). The REC custom resource also needs to be configured with those secret names to read and use the certificates. @@ -64,6 +64,6 @@ Check the operator logs and use the API to verify the certificate has been updat ## More info -- [Update certificates]({{< relref "/operate/rs/security/certificates/updating-certificates" >}}) -- [Install your own certificates]({{< relref "/operate/rs/security/certificates/create-certificates" >}}) -- [Glossary/Transport Layer Security (TLS)]({{< relref "/glossary#letter-t" >}}) +- [Update certificates](/content/operate/rs/security/certificates/updating-certificates.md) +- [Install your own certificates](/content/operate/rs/security/certificates/create-certificates.md) +- [Glossary/Transport Layer Security (TLS)](/content/glossary/_index.md#letter-t) diff --git a/content/operate/kubernetes/7.8.6/security/manage-rec-credentials.md b/content/operate/kubernetes/7.8.6/security/manage-rec-credentials.md index 994e8106ea..485c34654e 100644 --- a/content/operate/kubernetes/7.8.6/security/manage-rec-credentials.md +++ b/content/operate/kubernetes/7.8.6/security/manage-rec-credentials.md @@ -9,11 +9,10 @@ linkTitle: Manage REC credentials weight: 93 url: '/operate/kubernetes/7.8.6/security/manage-rec-credentials/' --- -Redis Enterprise for Kubernetes uses a custom resource called [`RedisEnterpriseCluster`]({{< relref "/operate/kubernetes/7.8.6/reference/redis_enterprise_cluster_api" >}}) to create a Redis Enterprise cluster (REC). During creation it generates random credentials for the operator to use. The credentials are saved in a Kubernetes (K8s) [secret](https://kubernetes.io/docs/concepts/configuration/secret/). The secret name defaults to the name of the cluster. +Redis Enterprise for Kubernetes uses a custom resource called [`RedisEnterpriseCluster`](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_cluster_api.md) to create a Redis Enterprise cluster (REC). During creation it generates random credentials for the operator to use. The credentials are saved in a Kubernetes (K8s) [secret](https://kubernetes.io/docs/concepts/configuration/secret/). The secret name defaults to the name of the cluster. -{{}} -This procedure is only supported for operator versions 6.0.20-12 and above. -{{}} +> [!NOTE] +> This procedure is only supported for operator versions 6.0.20-12 and above. ## Retrieve the current username and password @@ -96,13 +95,14 @@ curl -k --request DELETE \ \"old_password\":\"}} The username for the K8s secret is the email displayed on the Redis Enterprise admin console. {{}} +> [!NOTE] +> The username for the K8s secret is the email displayed on the Redis Enterprise admin console. ### Change both the REC username and password -1. [Connect to the admin console]({{< relref "/operate/kubernetes/7.8.6/re-clusters/connect-to-admin-console.md" >}}) +1. [Connect to the admin console](/content/operate/kubernetes/7.8.6/re-clusters/connect-to-admin-console.md) -2. [Add another admin user]({{< relref "/operate/rs/security/access-control/create-users" >}}) and choose a new password. +2. [Add another admin user](/content/operate/rs/security/access-control/create-users.md) and choose a new password. 3. Specify the new username in the `username` field of your REC custom resource spec. @@ -122,9 +122,8 @@ kubectl apply -f - 6. Delete the previous admin user from the cluster. -{{}} -The operator may log errors in the time between updating the username in the REC spec and the secret update. -{{}} +> [!NOTE] +> The operator may log errors in the time between updating the username in the REC spec and the secret update. ### Update the credentials secret in Vault diff --git a/content/operate/kubernetes/7.8.6/upgrade/_index.md b/content/operate/kubernetes/7.8.6/upgrade/_index.md index f1bb5f5788..7cb5f88de4 100644 --- a/content/operate/kubernetes/7.8.6/upgrade/_index.md +++ b/content/operate/kubernetes/7.8.6/upgrade/_index.md @@ -18,15 +18,16 @@ The upgrade process includes updating three components: 2. Upgrade the Redis Enterprise cluster (REC) 3. Upgrade Redis Enterprise databases (REDB) -If you are using OpenShift, see [Upgrade Redis Enterprise with OpenShift CLI]({{}}) or [Upgrade Redis Enterprise with OpenShift OperatorHub]({{}}). +If you are using OpenShift, see [Upgrade Redis Enterprise with OpenShift CLI](/content/operate/kubernetes/7.8.6/upgrade/openshift-cli.md) or [Upgrade Redis Enterprise with OpenShift OperatorHub](/content/operate/kubernetes/7.8.6/upgrade/upgrade-olm.md). -For all other Kubernetes distributions, see [Upgrade Redis Enterprise for Kubernetes]({{}}). +For all other Kubernetes distributions, see [Upgrade Redis Enterprise for Kubernetes](/content/operate/kubernetes/7.8.6/upgrade/upgrade-redis-cluster.md). ## Upgrade compatibility When upgrading, both your Kubernetes version and Redis operator version need to be supported at all times. -{{}}If your current Kubernetes distribution is not [supported]({{}}), upgrade to a supported distribution before upgrading. {{}} +> [!WARNING] +> If your current Kubernetes distribution is not [supported](/content/operate/kubernetes/7.8.6/reference/supported_k8s_distributions.md), upgrade to a supported distribution before upgrading. ## RHEL9-based image @@ -38,6 +39,6 @@ As of version 7.8.2-6, Redis Enterprise images are based on Red Hat Enterprise L For detailed steps, see the relevant upgrade page: -- [OpenShift CLI]({{}}) -- [OpenShift OperatorHub]({{}}) -- [Kubernetes]({{}}) +- [OpenShift CLI](/content/operate/kubernetes/7.8.6/upgrade/openshift-cli.md) +- [OpenShift OperatorHub](/content/operate/kubernetes/7.8.6/upgrade/upgrade-olm.md) +- [Kubernetes](/content/operate/kubernetes/7.8.6/upgrade/upgrade-redis-cluster.md) diff --git a/content/operate/kubernetes/7.8.6/upgrade/openshift-cli.md b/content/operate/kubernetes/7.8.6/upgrade/openshift-cli.md index 834b8c127d..207a15837f 100644 --- a/content/operate/kubernetes/7.8.6/upgrade/openshift-cli.md +++ b/content/operate/kubernetes/7.8.6/upgrade/openshift-cli.md @@ -26,7 +26,7 @@ See the [troubleshooting](#troubleshooting) section for details on recovering a #### Kubernetes version -Check [Supported Kubernetes distributions]({{}}) to make sure your Kubernetes distribution is supported. If not, upgrade your Kubernetes distribution before upgrading the Redis operator. +Check [Supported Kubernetes distributions](/content/operate/kubernetes/7.8.6/reference/supported_k8s_distributions.md) to make sure your Kubernetes distribution is supported. If not, upgrade your Kubernetes distribution before upgrading the Redis operator. #### Redis operator version @@ -34,7 +34,7 @@ Your Redis Enterprise clusters must be running version 7.4.2-2 or later before u #### Redis database version -Your Redis databases must be running version 7.2 or later before upgrading your cluster version. See [upgrade databases](#upgrade-databases) for detailed steps. You can find your database version in the [REDB `spec.redisVersion` field]({{}}). +Your Redis databases must be running version 7.2 or later before upgrading your cluster version. See [upgrade databases](#upgrade-databases) for detailed steps. You can find your database version in the [REDB `spec.redisVersion` field](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_database_api.md#redisversion). #### RHEL9-compatible modules @@ -52,7 +52,7 @@ To see which modules are currently in use, run: curl -k -u : -X GET https://localhost:9443/v1/bdbs | jq -r '.[].module_list | map(.module_name + "-" + .semantic_version) | .[]' ``` -See [Upgrade modules]({{}}) for details on how to upgrade modules with the `rladmin` tool. +See [Upgrade modules](/content/operate/oss_and_stack/stack-with-enterprise/install/upgrade-module.md) for details on how to upgrade modules with the `rladmin` tool. #### Valid license @@ -78,10 +78,9 @@ If you need a different release, replace `VERSION` in the above with a specific Apply the bundle to deploy the new operator binary. This will also apply any changes in the new release to custom resource definitions, roles, role binding, or operator service accounts. -{{< note >}} -If you are not pulling images from Docker Hub, update the operator image spec to point to your private repository. -If you have made changes to the role, role binding, RBAC, or custom resource definition (CRD) in the previous version, merge them with the updated declarations in the new version files. -{{< /note >}} +> [!NOTE] +> If you are not pulling images from Docker Hub, update the operator image spec to point to your private repository. +> If you have made changes to the role, role binding, RBAC, or custom resource definition (CRD) in the previous version, merge them with the updated declarations in the new version files. If you are using OpenShift, run this instead: @@ -104,9 +103,8 @@ deployment.apps/redis-enterprise-operator configured If you have the admission controller enabled, you need to manually reapply the `ValidatingWebhookConfiguration`. -{{}} -{{< embed-md "k8s-642-redb-admission-webhook-name-change.md" >}} -{{}} +> [!NOTE] +> {{< embed-md "k8s-642-redb-admission-webhook-name-change.md" >}} {{< embed-md "k8s-admission-webhook-cert.md" >}} @@ -125,13 +123,12 @@ NAME READY UP-TO-DATE AVAILABLE AGE redis-enterprise-operator 1/1 1 1 0m36s ``` -{{< warning >}} - We recommend upgrading the REC as soon as possible after updating the operator. After the operator upgrade completes, the operator suspends the management of the REC and its associated REDBs, until the REC upgrade completes. - {{< /warning >}} +> [!WARNING] +> We recommend upgrading the REC as soon as possible after updating the operator. After the operator upgrade completes, the operator suspends the management of the REC and its associated REDBs, until the REC upgrade completes. ### Reapply the SCC -If you are using OpenShift, you will also need to manually reapply the [security context constraints](https://docs.openshift.com/container-platform/4.8/authentication/managing-security-context-constraints.html) file ([`scc.yaml`]({{< relref "/operate/kubernetes/7.8.6/deployment/openshift/openshift-cli#deploy-the-operator" >}})) and bind it to your service account. +If you are using OpenShift, you will also need to manually reapply the [security context constraints](https://docs.openshift.com/container-platform/4.8/authentication/managing-security-context-constraints.html) file ([`scc.yaml`](/content/operate/kubernetes/7.8.6/deployment/openshift/openshift-cli.md#deploy-the-operator)) and bind it to your service account. ```sh oc apply -f openshift/scc.yaml @@ -146,15 +143,14 @@ If you are upgrading from operator version 6.4.2-6 or before, see the ["after up ## Upgrade the Redis Enterprise Cluster -{{}} -Verify your license is valid before upgrading. Invalid licenses will cause the upgrade to fail. - -Use `oc get rec` and verify the `LICENSE STATE` is valid on your REC before you start the upgrade process. -{{}} +> [!WARNING] +> Verify your license is valid before upgrading. Invalid licenses will cause the upgrade to fail. +> +> Use `oc get rec` and verify the `LICENSE STATE` is valid on your REC before you start the upgrade process. The Redis Enterprise cluster (REC) can be updated automatically or manually. To trigger automatic upgrade of the REC after the operator upgrade completes, specify `autoUpgradeRedisEnterprise: true` in your REC spec. If you don't have automatic upgrade enabled, follow the below steps for the manual upgrade. -Before beginning the upgrade of the Redis Enterprise cluster, check the K8s operator [release notes]({{}}) to find the Redis Enterprise image tag. +Before beginning the upgrade of the Redis Enterprise cluster, check the K8s operator [release notes](/content/operate/kubernetes/release-notes/_index.md) to find the Redis Enterprise image tag. After the operator upgrade is complete, you can upgrade Redis Enterprise cluster (REC). @@ -180,7 +176,7 @@ After the operator upgrade is complete, you can upgrade Redis Enterprise cluster ### Reapply roles and role bindings -If your operator is monitoring multiple namespaces, you'll need to [reapply your role and role bindings]({{< relref "/operate/kubernetes/7.8.6/re-clusters/multi-namespace#create-role-and-role-binding-for-managed-namespaces" >}}) for each managed namespace. See [Manage databases in multiple namespaces]({{< relref "/operate/kubernetes/7.8.6/re-clusters/multi-namespace" >}}) for more details. +If your operator is monitoring multiple namespaces, you'll need to [reapply your role and role bindings](/content/operate/kubernetes/7.8.6/re-clusters/multi-namespace.md#create-role-and-role-binding-for-managed-namespaces) for each managed namespace. See [Manage databases in multiple namespaces](/content/operate/kubernetes/7.8.6/re-clusters/multi-namespace.md) for more details. ### Monitor the upgrade @@ -206,7 +202,7 @@ oc rollout status sts After the cluster is upgraded, you can upgrade your databases. Specify your new database version in the `spec.redisVersion` field for your REDB and REAADB custom resources. Supported database versions include `"7.2"` and `"7.4"` (note this value is a string). -Note that if your cluster [`redisUpgradePolicy`]({{}}) or your database [`redisVersion`]({{< relref "/operate/kubernetes/7.8.6/reference/redis_enterprise_database_api#redisversion" >}}) are set to `major`, you won't be able to upgrade those databases to minor versions. See [Redis upgrade policy]({{< relref "/operate/rs/installing-upgrading/upgrading#redis-upgrade-policy" >}}) for more details. +Note that if your cluster [`redisUpgradePolicy`](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_cluster_api.md#redisupgradepolicy) or your database [`redisVersion`](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_database_api.md#redisversion) are set to `major`, you won't be able to upgrade those databases to minor versions. See [Redis upgrade policy](/content/operate/rs/installing-upgrading/upgrading/_index.md#redis-upgrade-policy) for more details. ## Troubleshooting diff --git a/content/operate/kubernetes/7.8.6/upgrade/upgrade-olm.md b/content/operate/kubernetes/7.8.6/upgrade/upgrade-olm.md index cc409b3306..a3c19c855b 100644 --- a/content/operate/kubernetes/7.8.6/upgrade/upgrade-olm.md +++ b/content/operate/kubernetes/7.8.6/upgrade/upgrade-olm.md @@ -26,7 +26,7 @@ See the [troubleshooting](#troubleshooting) section for details on recovering a #### Kubernetes version -Check [Supported Kubernetes distributions]({{}}) to make sure your Kubernetes distribution is supported. If not, upgrade your Kubernetes distribution before upgrading the Redis operator. +Check [Supported Kubernetes distributions](/content/operate/kubernetes/7.8.6/reference/supported_k8s_distributions.md) to make sure your Kubernetes distribution is supported. If not, upgrade your Kubernetes distribution before upgrading the Redis operator. #### Redis operator version @@ -34,7 +34,7 @@ Your Redis Enterprise clusters must be running version 7.4.2-2 or later before u #### Redis database version -Your Redis databases must be running version 7.2 or later before upgrading your cluster version to 7.8.2-6. See [upgrade databases](#upgrade-databases) for detailed steps. You can find your database version in the [REDB `spec.redisVersion` field]({{}}). +Your Redis databases must be running version 7.2 or later before upgrading your cluster version to 7.8.2-6. See [upgrade databases](#upgrade-databases) for detailed steps. You can find your database version in the [REDB `spec.redisVersion` field](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_database_api.md#redisversion). #### RHEL9-compatible modules @@ -52,7 +52,7 @@ To see which modules are currently in use, run: curl -k -u : -X GET https://localhost:9443/v1/bdbs | jq -r '.[].module_list | map(.module_name + "-" + .semantic_version) | .[]' ``` -See [Upgrade modules]({{}}) for details on how to upgrade modules with the `rladmin` tool. +See [Upgrade modules](/content/operate/oss_and_stack/stack-with-enterprise/install/upgrade-module.md) for details on how to upgrade modules with the `rladmin` tool. ### Valid license @@ -77,7 +77,7 @@ You can monitor the upgrade from the **Installed Operators** page. A new Redis E ## Reapply the SCC -If you are using OpenShift, you must manually reappply the [security context constraints (SCC)](https://docs.openshift.com/container-platform/4.8/authentication/managing-security-context-constraints.html) file ([`scc.yaml`]({{< relref "/operate/kubernetes/7.8.6/deployment/openshift/openshift-cli#deploy-the-operator" >}})) and bind it to your service account. +If you are using OpenShift, you must manually reappply the [security context constraints (SCC)](https://docs.openshift.com/container-platform/4.8/authentication/managing-security-context-constraints.html) file ([`scc.yaml`](/content/operate/kubernetes/7.8.6/deployment/openshift/openshift-cli.md#deploy-the-operator)) and bind it to your service account. ```sh oc apply -f openshift/scc.yaml @@ -89,15 +89,14 @@ oc adm policy add-scc-to-user redis-enterprise-scc-v2 \ ``` ## Upgrade the Redis Enterprise Cluster -{{}} -Verify your license is valid before upgrading. Invalid licenses will cause the upgrade to fail. - -Use `oc get rec` and verify the `LICENSE STATE` is valid on your REC before you start the upgrade process. -{{}} +> [!WARNING] +> Verify your license is valid before upgrading. Invalid licenses will cause the upgrade to fail. +> +> Use `oc get rec` and verify the `LICENSE STATE` is valid on your REC before you start the upgrade process. The Redis Enterprise cluster (REC) can be updated automatically or manually. To trigger automatic upgrade of the REC after the operator upgrade completes, specify `autoUpgradeRedisEnterprise: true` in your REC spec. If you don't have automatic upgrade enabled, follow the below steps for the manual upgrade. -Before beginning the upgrade of the Redis Enterprise cluster, check the K8s operator [release notes]({{}}) to find the Redis Enterprise image tag. +Before beginning the upgrade of the Redis Enterprise cluster, check the K8s operator [release notes](/content/operate/kubernetes/release-notes/_index.md) to find the Redis Enterprise image tag. After the operator upgrade is complete, you can upgrade Redis Enterprise cluster (REC). @@ -123,7 +122,7 @@ After the operator upgrade is complete, you can upgrade Redis Enterprise cluster ### Reapply roles and role bindings -If your operator is monitoring multiple namespaces, you'll need to [reapply your role and role bindings]({{< relref "/operate/kubernetes/7.8.6/re-clusters/multi-namespace#create-role-and-role-binding-for-managed-namespaces" >}}) for each managed namespace. See [Manage databases in multiple namespaces]({{< relref "/operate/kubernetes/7.8.6/re-clusters/multi-namespace" >}}) for more details. +If your operator is monitoring multiple namespaces, you'll need to [reapply your role and role bindings](/content/operate/kubernetes/7.8.6/re-clusters/multi-namespace.md#create-role-and-role-binding-for-managed-namespaces) for each managed namespace. See [Manage databases in multiple namespaces](/content/operate/kubernetes/7.8.6/re-clusters/multi-namespace.md) for more details. ### Monitor the upgrade @@ -149,7 +148,7 @@ oc rollout status sts After the cluster is upgraded, you can upgrade your databases. Specify your new database version in the `spec.redisVersion` field for your REDB and REAADB custom resources. Supported database versions for this operator version include `"7.2"` and `"7.4"` (note this value is a string). -Note that if your cluster [`redisUpgradePolicy`]({{}}) or your database [`redisVersion`]({{< relref "/operate/kubernetes/7.8.6/reference/redis_enterprise_database_api#redisversion" >}}) are set to `major`, you won't be able to upgrade those databases to minor versions. See [Redis upgrade policy]({{< relref "/operate/rs/installing-upgrading/upgrading#redis-upgrade-policy" >}}) for more details. +Note that if your cluster [`redisUpgradePolicy`](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_cluster_api.md#redisupgradepolicy) or your database [`redisVersion`](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_database_api.md#redisversion) are set to `major`, you won't be able to upgrade those databases to minor versions. See [Redis upgrade policy](/content/operate/rs/installing-upgrading/upgrading/_index.md#redis-upgrade-policy) for more details. The Redis Enterprise cluster (REC) can be updated automatically or manually. To trigger automatic upgrade of the REC after the operator upgrade completes, specify `autoUpgradeRedisEnterprise: true` in your REC spec. If you don't have automatic upgrade enabled, follow the below steps for the manual upgrade. ## Troubleshooting diff --git a/content/operate/kubernetes/7.8.6/upgrade/upgrade-redis-cluster.md b/content/operate/kubernetes/7.8.6/upgrade/upgrade-redis-cluster.md index 611aec2d4a..bf2a137759 100644 --- a/content/operate/kubernetes/7.8.6/upgrade/upgrade-redis-cluster.md +++ b/content/operate/kubernetes/7.8.6/upgrade/upgrade-redis-cluster.md @@ -26,7 +26,7 @@ See the [troubleshooting](#troubleshooting) section for details on recovering a ### Kubernetes version -Check [Supported Kubernetes distributions]({{}}) to make sure your Kubernetes distribution is supported by 7.8.2-6. If not, upgrade your Kubernetes distribution before upgrading the Redis operator. +Check [Supported Kubernetes distributions](/content/operate/kubernetes/7.8.6/reference/supported_k8s_distributions.md) to make sure your Kubernetes distribution is supported by 7.8.2-6. If not, upgrade your Kubernetes distribution before upgrading the Redis operator. ### Redis operator version @@ -34,7 +34,7 @@ Your Redis Enterprise clusters must be running version 7.4.2-2 or later before u ### Redis database version -Your Redis databases must be running version 7.2 or later before upgrading your cluster version to 7.8.2-6. See [upgrade databases](#upgrade-databases) for detailed steps. You can find your database version in the [REDB `spec.redisVersion` field]({{}}). +Your Redis databases must be running version 7.2 or later before upgrading your cluster version to 7.8.2-6. See [upgrade databases](#upgrade-databases) for detailed steps. You can find your database version in the [REDB `spec.redisVersion` field](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_database_api.md#redisversion). ### RHEL9-compatible modules @@ -52,7 +52,7 @@ To see which modules are currently in use, run: curl -k -u : -X GET https://localhost:9443/v1/bdbs | jq -r '.[].module_list | map(.module_name + "-" + .semantic_version) | .[]' ``` -See [Upgrade modules]({{}}) for details on how to upgrade modules with the `rladmin` tool. +See [Upgrade modules](/content/operate/oss_and_stack/stack-with-enterprise/install/upgrade-module.md) for details on how to upgrade modules with the `rladmin` tool. ### Valid license @@ -79,10 +79,9 @@ If you need a different release, replace `VERSION` in the above with a specific Apply the bundle to deploy the new operator binary. This will also apply any changes in the new release to custom resource definitions, roles, role binding, or operator service accounts. -{{< note >}} -If you are not pulling images from Docker Hub, update the operator image spec to point to your private repository. -If you have made changes to the role, role binding, RBAC, or custom resource definition (CRD) in the previous version, merge them with the updated declarations in the new version files. -{{< /note >}} +> [!NOTE] +> If you are not pulling images from Docker Hub, update the operator image spec to point to your private repository. +> If you have made changes to the role, role binding, RBAC, or custom resource definition (CRD) in the previous version, merge them with the updated declarations in the new version files. Upgrade the bundle and operator with a single command, passing in the bundle YAML file: @@ -105,9 +104,8 @@ deployment.apps/redis-enterprise-operator configured If you have the admission controller enabled, you need to manually reapply the `ValidatingWebhookConfiguration`. -{{}} -{{< embed-md "k8s-642-redb-admission-webhook-name-change.md" >}} -{{}} +> [!NOTE] +> {{< embed-md "k8s-642-redb-admission-webhook-name-change.md" >}} {{< embed-md "k8s-admission-webhook-cert.md" >}} @@ -126,15 +124,14 @@ NAME READY UP-TO-DATE AVAILABLE AGE redis-enterprise-operator 1/1 1 1 0m36s ``` -{{< warning >}} -We recommend upgrading the REC as soon as possible after updating the operator. After the operator upgrade completes, the operator suspends the management of the REC and its associated REDBs, until the REC upgrade completes. -{{< /warning >}} +> [!WARNING] +> We recommend upgrading the REC as soon as possible after updating the operator. After the operator upgrade completes, the operator suspends the management of the REC and its associated REDBs, until the REC upgrade completes. ## Upgrade the Redis Enterprise cluster (REC) The Redis Enterprise cluster (REC) can be updated automatically or manually. To trigger automatic upgrade of the REC after the operator upgrade completes, specify `autoUpgradeRedisEnterprise: true` in your REC spec. If you don't have automatic upgrade enabled, follow the below steps for the manual upgrade. -Before beginning the upgrade of the Redis Enterprise cluster, check the [Redis Enterprise for Kubernetes release notes]({{}}) to find the Redis Enterprise image tag. +Before beginning the upgrade of the Redis Enterprise cluster, check the [Redis Enterprise for Kubernetes release notes](/content/operate/kubernetes/release-notes/7-8-2-releases/_index.md) to find the Redis Enterprise image tag. After the operator upgrade is complete, you can upgrade Redis Enterprise cluster (REC). @@ -166,7 +163,7 @@ If you are upgrading from a preview version of the Active-Active controller, you ### Reapply roles and role bindings -If your operator is monitoring multiple namespaces, you'll need to [reapply your role and role bindings]({{< relref "/operate/kubernetes/7.8.6/re-clusters/multi-namespace#create-role-and-role-binding-for-managed-namespaces" >}}) for each managed namespace. See [Manage databases in multiple namespaces]({{< relref "/operate/kubernetes/7.8.6/re-clusters/multi-namespace" >}}) for more details. +If your operator is monitoring multiple namespaces, you'll need to [reapply your role and role bindings](/content/operate/kubernetes/7.8.6/re-clusters/multi-namespace.md#create-role-and-role-binding-for-managed-namespaces) for each managed namespace. See [Manage databases in multiple namespaces](/content/operate/kubernetes/7.8.6/re-clusters/multi-namespace.md) for more details. ### Monitor the upgrade @@ -192,7 +189,7 @@ kubectl rollout status sts After the cluster is upgraded, you can upgrade your databases. Specify your new database version in the `spec.redisVersion` field for your REDB and REAADB custom resources. Supported database versions for operator version 7.8.2-6 include `"7.2"` and `"7.4"` (note this value is a string). -Note that if your cluster [`redisUpgradePolicy`]({{}}) or your database [`redisVersion`]({{< relref "/operate/kubernetes/7.8.6/reference/redis_enterprise_database_api#redisversion" >}}) are set to `major`, you won't be able to upgrade those databases to minor versions. See [Redis upgrade policy]({{< relref "/operate/rs/installing-upgrading/upgrading#redis-upgrade-policy" >}}) for more details. +Note that if your cluster [`redisUpgradePolicy`](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_cluster_api.md#redisupgradepolicy) or your database [`redisVersion`](/content/operate/kubernetes/7.8.6/reference/redis_enterprise_database_api.md#redisversion) are set to `major`, you won't be able to upgrade those databases to minor versions. See [Redis upgrade policy](/content/operate/rs/installing-upgrading/upgrading/_index.md#redis-upgrade-policy) for more details. ## Troubleshooting