Set global database configurations

The REAADB contains the field '.spec.globalConfigurations' and through this the database configurations are set.

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.

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.

Edit global configurations

  1. Edit or patch the REAADB custom resource with your global configuration changes.

    The example command below patches the REAADB named reaadb-boeing to set the global memory size to 200MB:

    kubectl patch reaadb reaadb-boeing --type merge --patch \
    '{"spec": {"globalConfigurations": {"memorySize": "200mb"}}}'
    
  2. Verify the status is active and the spec status is Valid.

    This example shows the status for the reaadb-boeing database.

    kubectl get reaadb reaadb-boeing
    
    NAME             STATUS   SPEC STATUS   GLOBAL CONFIGURATIONS REDB   LINKED REDBS
    reaadb-boeing   active   Valid    
    
  3. View the global configurations on each participating cluster to verify they are synced.

    kubectl get reaadb <reaadb-name> -o yaml
    

Edit global configuration secrets

This section edits the secrets under the REAADB .spec.globalConfigurations section. For more information and all available fields, see the REAADB API reference.

  1. On an existing participating cluster, generate a YAML file containing the database secret with the relevant data.

    This example shoes a secret named my-db-secret with the password my-password encoded in base 64.

    apiVersion: v1
     data:
      password: bXktcGFzcw
    kind: Secret
    metadata:
      name: my-db-secret
    type: Opaque
    
  2. Apply the secret file from the previous step, substituting your own value for <db-secret-file>.

    kubectl apply -f <db-secret-file>
    
  3. Patch the REAADB custom resource to specify the database secret, substituting your own values for <reaadb-name> and <secret-name>.

    kubectl patch reaadb <reaadb-name> --type merge --patch \
    '{"spec": {"globalConfigurations": {"databaseSecretName": "secret-name"}}}'
    
  4. Check the REAADB status for an active status and Valid spec status.

    kubectl get reaadb <reaadb-name>
    
    NAME             STATUS   SPEC STATUS   GLOBAL CONFIGURATIONS REDB   LINKED REDBS
    reaadb-boeing   active   Valid
    
  5. On each other participating cluster, check the secret status.

    ``sh kubectl get reaadb -o=jsonpath='{.status.secretsStatus}'

    
    The output should show the status as `Invalid`.
    
    ```sh
    [{"name":"my-db-secret","status":"Invalid"}]
    
  6. Sync the secret on each participating cluster.

    kubectl apply -f <db-secret-file>
    
  7. Repeat the previous two steps on every participating cluster.

RATE THIS PAGE
Back to top ↑