{
  "schema_version": 2,
  "id": "integrate/redis-data-integration/installation/install-k8s",
  "title": "Install on Kubernetes",
  "url": "https://redis.io/docs/latest/integrate/redis-data-integration/1.19.1/installation/install-k8s/",
  "summary": "Learn how to install RDI on Kubernetes",
  "content": "\nThis guide explains how to use the RDI [Helm chart](https://helm.sh/docs/topics/charts/)\nto install on [Kubernetes](https://kubernetes.io/) (K8s). You can also\n[Install RDI on VMs](https://redis.io/docs/latest/integrate/redis-data-integration/1.19.1/installation/install-vm).\n\nThe installation creates the following K8s objects:\n\n-   A K8s [namespace](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/) named `rdi`.\n    You can also use a different namespace name if you prefer.\n-   [Deployments](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) and \n    [services](https://kubernetes.io/docs/concepts/services-networking/service/) for the \n    [RDI operator](https://redis.io/docs/latest/integrate/redis-data-integration/1.19.1/architecture#how-rdi-is-deployed),\n    [metrics exporter](https://redis.io/docs/latest/integrate/redis-data-integration/1.19.1/observability), and API server.\n-   A [service account](https://kubernetes.io/docs/concepts/security/service-accounts/) \n    and [RBAC resources](https://kubernetes.io/docs/reference/access-authn-authz/rbac) for the RDI operator.\n-   A [ConfigMap](https://kubernetes.io/docs/concepts/configuration/configmap/) with RDI database details.\n-   [Secrets](https://kubernetes.io/docs/concepts/configuration/secret/)\n    with the RDI database credentials and TLS certificates.\n-   Other optional K8s resources such as [ingresses](https://kubernetes.io/docs/concepts/services-networking/ingress/) \n    that can be enabled depending on your K8s environment and needs.\n\nYou can use this installation on [OpenShift](https://docs.openshift.com/) and other K8s distributions\nincluding cloud providers' K8s managed clusters.\n\nYou can configure the RDI Helm chart to pull the RDI images from [dockerhub](https://hub.docker.com/u/redis) \nor from your own [private image registry](#using-a-private-image-registry).\n\n## Before you install\n\nComplete the following steps before installing the RDI Helm chart:\n\n-   [Create the RDI database](#create-the-rdi-database) on your Redis Enterprise cluster.\n\n-   Create a [user](https://redis.io/docs/latest/operate/rs/security/access-control/create-users)\n    for the RDI database if you prefer not to use the default password (see\n    [Access control](https://redis.io/docs/latest/operate/rs/security/access-control) for\n    more information).\n\n-   Download the RDI Helm chart tar file from the\n    [Redis download center](https://redis-enterprise-software-downloads.s3.amazonaws.com/redis-di/rdi-.tgz) (in the *Modules, Tools \u0026 Integration* category) .\n\n    ```bash\n    export RDI_VERSION=\n    wget https://redis-enterprise-software-downloads.s3.amazonaws.com/redis-di/rdi-$RDI_VERSION.tgz\n    ```\n\n-   If you want to use a private image registry,\n    [prepare it with the RDI images](#using-a-private-image-registry).\n\n-   [Download the RDI CLI](#download-the-rdi-cli), which you use to deploy and manage pipelines.\n\n### Create the RDI database\n\nRDI uses a database on your Redis Enterprise cluster to store its state\ninformation. Use the Redis Enterprise Cluster Manager UI to create the RDI database with the following\nrequirements:\n\n* Redis Enterprise v6.4 or greater for the cluster.\n* For production, 250MB RAM with one primary and one replica is recommended, but for the\n  quickstart or for development, 125MB and a single shard is sufficient.\n* If you are deploying RDI for a production environment then secure this database with a password\n  and TLS.\n* Set the database's\n  [eviction policy](https://redis.io/docs/latest/operate/rs/databases/memory-performance/eviction-policy) to `noeviction`. Note that you can't set this using\n  [`rladmin`](https://redis.io/docs/latest/operate/rs/references/cli-utilities/rladmin),\n  so you must either do it using the admin UI or with the following\n  [REST API](https://redis.io/docs/latest/operate/rs/references/rest-api)\n  command:\n\n  ```bash\n  curl -v -k -d '{\"eviction_policy\": \"noeviction\"}' \\\n    -u '\u003cUSERNAME\u003e:\u003cPASSWORD\u003e' \\\n    -H \"Content-Type: application/json\" \\\n    -X PUT https://\u003cCLUSTER_FQDN\u003e:9443/v1/bdbs/\u003cBDB_UID\u003e\n  ```\n* Set the database's\n  [data persistence](https://redis.io/docs/latest/operate/rs/databases/configure/database-persistence)\n  to AOF - fsync every 1 sec. Note that you can't set this using\n  [`rladmin`](https://redis.io/docs/latest/operate/rs/references/cli-utilities/rladmin),\n  so you must either do it using the admin UI or with the following\n  [REST API](https://redis.io/docs/latest/operate/rs/references/rest-api)\n  commands:\n\n  ```bash\n  curl -v -k -d '{\"data_persistence\":\"aof\"}' \\\n    -u '\u003cUSERNAME\u003e:\u003cPASSWORD\u003e' \\\n    -H \"Content-Type: application/json\" \n    -X PUT https://\u003cCLUSTER_FQDN\u003e:9443/v1/bdbs/\u003cBDB_UID\u003e\n  curl -v -k -d '{\"aof_policy\":\"appendfsync-every-sec\"}' \\\n    -u '\u003cUSERNAME\u003e:\u003cPASSWORD\u003e' \\\n    -H \"Content-Type: application/json\" \\\n    -X PUT https://\u003cCLUSTER_FQDN\u003e:9443/v1/bdbs/\u003cBDB_UID\u003e\n  ```\n If you don't have permissions to use AOF persistence, please check the [Using RDI without persistence](https://redis.io/docs/latest/integrate/redis-data-integration/faq#can-i-use-rdi-without-persistence-enabled) section in the FAQ.\n\n* **Ensure that the RDI database is not clustered.** RDI will not work correctly if the\n  RDI database is clustered (but note that the target database *can* be clustered without\n  any problems).\n\n  If the **Database clustering** option is checked when you create the RDI database (as shown below),\n  you must *uncheck* it before proceeding.\n\n  ![images/rdi/ingest/RDIClusterSetting.webp](https://redis.io/docs/latest/images/rdi/ingest/RDIClusterSetting.webp)\n\n  You can check if your RDI database is clustered from its **Configuration** tab in the\n  Redis Enterprise console. The **Database clustering** option should be set to **None**,\n  as shown in the following screenshot:\n\n  ![images/rdi/ingest/RDICheckUnclustered.webp](https://redis.io/docs/latest/images/rdi/ingest/RDICheckUnclustered.webp)\n\n  If you find the database has been clustered by mistake, you must create a new database with\n  clustering disabled before continuing with the RDI installation.\n\n\nYou should then provide the details of this database in the [`values.yaml`](#the-valuesyaml-file)\nfile as described below.\n\n### Using a private image registry\n\nAdd the RDI images from [dockerhub](https://hub.docker.com/u/redis) to your local registry.\nYou need the following RDI images with tags matching the RDI version you want to install:\n\n-   [redis/rdi-api](https://hub.docker.com/r/redis/rdi-api)\n-   [redis/rdi-operator](https://hub.docker.com/r/redis/rdi-operator)\n-   [redis/rdi-monitor](https://hub.docker.com/r/redis/rdi-monitor)\n-   [redis/rdi-processor](https://hub.docker.com/r/redis/rdi-processor)\n-   [redis/rdi-collector-api](https://hub.docker.com/r/redis/rdi-collector-api)\n-   [redis/rdi-collector-initializer](https://hub.docker.com/r/redis/rdi-collector-initializer)\n\nIf you plan to use the Flink processor for any of your pipelines, you'll also need:\n\n-   [redis/rdi-flink-processor](https://hub.docker.com/r/redis/rdi-flink-processor)\n-   [redis/rdi-metrics-aggregator](https://hub.docker.com/r/redis/rdi-metrics-aggregator)\n\nIf you plan to use the Flink processor exclusively, the `redis/rdi-processor`\nand `redis/rdi-monitor` images are not required.\n\nIf you plan to use Spanner as a source for your pipeline, you'll also need\n[redis/rdi-flink-collector](https://hub.docker.com/r/redis/rdi-flink-collector).\n\nIf you plan to use Snowflake as a source for any of your pipelines, you'll also need\n[riotx/riotx:v1.8.0](https://hub.docker.com/r/riotx/riotx):\n[RIOT-X](https://redis.github.io/riotx/), a data ingestion and replication tool for Redis.\n\nIn addition, the RDI Helm chart uses the following 3rd party images:\n\n-   [redislabs/debezium-server:3.5.0.Final-rdi.1](https://hub.docker.com/r/redislabs/debezium-server),\n    based on `quay.io/debezium/server/3.5.0.Final` with minor modifications:\n    [Debezium](https://debezium.io/), an open source distributed platform for change data capture.\n-   [redis/reloader:v1.4.13](https://hub.docker.com/r/redis/reloader), originally `ghcr.io/stakater/reloader:v1.4.13`:\n    [Reloader](https://github.com/stakater/Reloader), a K8s controller to watch changes to ConfigMaps\n    and Secrets and do rolling upgrades.\n\nThe example below shows how to specify the registry and image pull secret in your\n[`rdi-values.yaml`](#the-valuesyaml-file) file for the Helm chart:\n\n```yaml\nglobal:\n  # Global image settings.\n  # If using a private image registry, update the default values accordingly.\n  image:\n    registry: your-registry\n    repository: your-repository # If different from \"redis\"\n  \n  # Image pull secrets to be used when using a private image registry.\n  imagePullSecrets:\n    - name: your-secret-name\n\n# ...\n\n# Configuration of the reloader.\nreloader:\n  reloader:\n    # ...\n    deployment:\n      image:\n        name: my-registry.com/my-repo/reloader\n        #...\n```\n\nTo pull images from a private image registry, you must provide the image pull secret and in some cases also set the permissions. Follow the links below to learn how to use a private registry with:\n\n-   [Rancher](https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/kubernetes-resources-setup/kubernetes-and-docker-registries#using-a-private-registry)\n-   [OpenShift](https://docs.openshift.com/container-platform/4.17/openshift_images/managing_images/using-image-pull-secrets.html)\n-   [Amazon Elastic Kubernetes Service (EKS)](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ECR_on_EKS.html)\n-   [Google Kubernetes Engine (GKE)](https://cloud.google.com/artifact-registry/docs/pull-cached-dockerhub-images)\n-   [Azure Kubernetes Service (AKS)](https://learn.microsoft.com/en-us/azure/aks/cluster-container-registry-integration?tabs=azure-cli)\n\n### Download the RDI CLI\n\nYou manage RDI with the [`redis-di` CLI](https://redis.io/docs/latest/integrate/redis-data-integration/1.19.1/reference/cli),\nwhich you use to deploy pipelines, set secrets, and inspect status. Unlike the VM installation, which\nbundles the CLI, a Kubernetes installation requires you to download it separately from the Redis\ndownload center.\n\nThe CLI is currently built for the following platforms. Download the binary that matches the operating\nsystem and architecture of the machine you will run it from. On Linux and macOS, if you are not sure\nwhich to choose, run `uname -sm`: `Linux x86_64` is Linux amd64, `Linux aarch64` is Linux arm64,\n`Darwin x86_64` is macOS on Intel, and `Darwin arm64` is macOS on Apple silicon.\n\n| Platform | Download |\n| :-- | :-- |\n| Linux, x86-64 (amd64) | [`redis-di`](https://redis-enterprise-software-downloads.s3.amazonaws.com/redis-di/cli//bin/linux-amd64/redis-di) |\n| Linux, ARM64 (aarch64) | [`redis-di`](https://redis-enterprise-software-downloads.s3.amazonaws.com/redis-di/cli//bin/linux-arm64/redis-di) |\n| macOS, Intel (amd64) | [`redis-di`](https://redis-enterprise-software-downloads.s3.amazonaws.com/redis-di/cli//bin/darwin-amd64/redis-di) |\n| macOS, Apple silicon (arm64) | [`redis-di`](https://redis-enterprise-software-downloads.s3.amazonaws.com/redis-di/cli//bin/darwin-arm64/redis-di) |\n| Windows, x86-64 (amd64) | [`redis-di.exe`](https://redis-enterprise-software-downloads.s3.amazonaws.com/redis-di/cli//bin/windows-amd64/redis-di.exe) |\n\nFor example, to download the CLI for Linux amd64, make it executable, and put it on your `PATH`:\n\n```bash\nexport RDI_VERSION=\nwget https://redis-enterprise-software-downloads.s3.amazonaws.com/redis-di/cli/$RDI_VERSION/bin/linux-amd64/redis-di\nchmod +x redis-di\nsudo mv redis-di /usr/local/bin/\n```\n\n\u003e [!NOTE]\n\u003e The macOS and Windows binaries are not currently signed or notarized, so the operating\n\u003e system may block them the first time you run them. On macOS, allow the binary to run in\n\u003e **System Settings \u003e Privacy \u0026 Security**, or remove the quarantine attribute with\n\u003e `xattr -d com.apple.quarantine ./redis-di`, and then run it again. On Windows, if Microsoft Defender\n\u003e SmartScreen blocks it, choose **More info \u003e Run anyway**.\n\n## Supported versions of Kubernetes and OpenShift\n\nRDI only supports versions of Kubernetes and OpenShift that have\nnot yet reached end-of-life (EOL). See the\n[Kubernetes](https://kubernetes.io/releases/) and\n[OpenShift](https://access.redhat.com/support/policy/updates/openshift)\nlifecycle pages for the latest updates.\n\n\n## Install the RDI Helm chart\n\n1.  Scaffold the default `values.yaml` file from the chart into a local\n    `rdi-values.yaml` file:\n\n    ```bash\n    helm show values rdi-\u003ctag\u003e.tgz \u003e rdi-values.yaml\n    ```\n\n1.  Open the `rdi-values.yaml` file you just created, change or add the appropriate\n    values for your installation, and delete the values you have not changed to \n    use their default values. \n    See [The `values.yaml` file](#the-valuesyaml-file) for more details.\n\n1.  Run the `helm upgrade --install` command:\n\n    ```bash\n    helm upgrade --install rdi rdi-\u003ctag\u003e.tgz -f rdi-values.yaml -n rdi --create-namespace\n    ```\n\n    \u003e [!NOTE]\n    \u003e The above command will install RDI in a namespace called\n    \u003e `rdi`. If you want to use a different namespace, pass the option\n    \u003e `-n \u003ccustom-namespace\u003e` to the `helm install` command instead.\n\n    \u0026nbsp;\n\n    \u003e [!WARNING]\n    \u003e Only one RDI installation is supported per Kubernetes\n    \u003e cluster. Installing RDI into multiple namespaces in the same cluster is\n    \u003e not supported and will fail. If you need more than one RDI deployment,\n    \u003e use separate Kubernetes clusters.\n\n### The `values.yaml` file\n\nThe [`values.yaml`](https://helm.sh/docs/topics/charts/#templates-and-values) file inside the\nHelm chart contains the values you can set for the RDI Helm installation.\nSee the comments by each value for more information about the values you may need to add or change \ndepending on your use case.\n\nAt a minimum, you must set the values of `connection.host`, `connection.port`, and `connection.password`\nto enable the basic connection to the RDI database. \nYou must also set `api.jwtKey`, RDI uses this value to encrypt the\n[JSON web token (JWT)](https://jwt.io/) token used by RDI API. Best practice is\nto generate a value containing 32 random bytes of data (equivalent to 256\nbits) and then encode this value as ASCII characters. Use the following\ncommand to generate the random key from the\n[`urandom` special file](https://en.wikipedia.org/wiki//dev/random):\n\n```bash\nhead -c 32 /dev/urandom | base64\n```\n\nIf you use TLS to connect to the RDI database, you must set the\nCA certificate content in `connection.ssl.cacert` (for TLS). In addition, if you\nalso use mTLS, you must set the client certificate and private key contents in\n`connection.ssl.cert`, and `connection.ssl.key`. \n\n-   You can add the certificate content directly in the `rdi-values.yaml` file\n    as follows:\n\n    ```yaml\n    connection:\n      ssl:\n        enabled: true\n        cacert: |\n          -----BEGIN CERTIFICATE-----\n          ...\n          -----END CERTIFICATE-----\n        cert: |\n          -----BEGIN CERTIFICATE-----\n          ...\n          -----END CERTIFICATE-----\n        key: |\n          -----BEGIN PRIVATE KEY-----\n          ...\n          -----END PRIVATE KEY-----\n    ```\n\n-   Alternatively, you can use the `--set-file` argument to set these values to\n    the content of your certificate files as follows:\n\n    ```bash\n    helm upgrade --install rdi rdi-\u003ctag\u003e.tar.gz -f rdi-values.yaml -n rdi --create-namespace \\\n      --set connection.ssl.enabled=true \\\n      --set-file connection.ssl.cacert=\u003cpath-to-CA-certificate\u003e \\\n      --set-file connection.ssl.cert=\u003cpath-to-client-certificate\u003e \\\n      --set-file connection.ssl.key=\u003cpath-to-client-key\u003e\n    ```\n\n\u003e [!NOTE]\n\u003e Please see [these docs](https://redis.io/docs/latest/integrate/redis-data-integration/1.19.1/data-pipelines/prepare-dbs/spanner#6-additional-kubernetes-configuration) if this RDI installation is for use with GCP Spanner.\n\nIf you are deploying to [OpenShift](https://docs.openshift.com/), you must\nset `global.openshift` to `true`:\n\n```yaml\nglobal:\n  # Indicates whether the deployment is intended for an OpenShift environment.\n  openShift: true\n```\n\nSet `global.securityContext.runAsUser` and\n`global.securityContext.runAsGroup` to the appropriate values for your\nOpenShift environment.\n\n```yaml\nglobal:\n  # Container default security context.\n  # ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container\n  securityContext:\n    runAsNonRoot: true\n    # On OpenShift, user and group 1000 are usually not allowed.\n    # If using OpenShift, set runAsUser and runAsGroup to values in your project's user and group ranges.\n    # You can examine the latter via `oc get projects \u003crid-project-name\u003e -o yaml | grep \"openshift.io/sa.scc\"`\n    runAsUser: 1000701234\n    runAsGroup: 1000701234\n    allowPrivilegeEscalation: false\n```\n\n\u003e [!WARNING]\n\u003e The default OpenShift Security Context Constraints (SCCs)\n\u003e will not allow RDI to run if `global.securityContext.runAsUser`\n\u003e and `global.securityContext.runAsGroup` have their default values of `1000`.\n\u003e You must edit your `rdi-values.yaml` file to ensure these values are\n\u003e in the valid range for your OpenShift environment.\n\u003e\n\u003e Use the following [OpenShift CLI](https://docs.redhat.com/en/documentation/openshift_container_platform/4.19/html/cli_tools/openshift-cli-oc) command\n\u003e to find the user and group ranges for your project:\n\u003e\n\u003e ```bash\n\u003e oc get projects \u003crid-project-name\u003e -o yaml | grep \"openshift.io/sa.scc\"\n\u003e ```\n\n### Configure the Flink processor\n\nRDI ships with two stream processor implementations: the default *classic*\nprocessor and the\n[Apache Flink](https://flink.apache.org/)-based *Flink* processor.\nSee\n[Stream processor implementations](https://redis.io/docs/latest/integrate/redis-data-integration/1.19.1/architecture#stream-processor-implementations)\nfor an overview of the differences and\n[Differences between the classic and Flink processors](https://redis.io/docs/latest/integrate/redis-data-integration/1.19.1/architecture/classic-vs-flink)\nfor a side-by-side comparison.\n\nTo configure the Flink processor at the Helm chart level, add the\n`operator.dataPlane.flinkProcessor` block to your `rdi-values.yaml` file. The\nsnippet below shows a few of the most commonly adjusted values. See the\n`flinkProcessor` block in the Helm chart's `values.yaml` for the full set of\nsupported values.\n\n```yaml\noperator:\n  dataPlane:\n    flinkProcessor:\n      jobManager:\n        # JobManager pod resources.\n        cpu: 0.1\n        memory: 1024\n      taskManager:\n        # TaskManager pod resources.\n        cpu: 1\n        memory: 2048\n        # Number of parallel task slots per TaskManager pod.\n        # Total parallelism is `replicas * numberOfTaskSlots`.\n        numberOfTaskSlots: 1\n```\n\nConfiguring the Flink processor at the Helm chart level only sets the values\nthat the operator will use when deploying the JobManager and TaskManager workloads.\nTo run a specific pipeline on the Flink processor, set\n[`processors.type`](https://redis.io/docs/latest/integrate/redis-data-integration/1.19.1/data-pipelines/pipeline-config#processors)\nto `flink` in that pipeline's `config.yaml`. Pipelines without this setting\ncontinue to use the classic processor. Fine-tune the Flink runtime\nthrough the `processors.advanced` section of `config.yaml` (see the\n[configuration reference](https://redis.io/docs/latest/integrate/redis-data-integration/1.19.1/reference/config-yaml-reference#processors)).\n\nFor migrating existing pipelines to the Flink processor, see\n[Migrate from the classic processor to the Flink processor](https://redis.io/docs/latest/integrate/redis-data-integration/1.19.1/installation/migration-classic-to-flink).\n\n## Check the installation\n\nTo verify the status of the K8s deployment, run the following command:\n\n```bash\nhelm list -n rdi\n```\n\nThe output looks like the following. Check that the `rdi` release is listed.\nWith RDI 1.8.0 or later, check that the `default` release is also listed.\n\n```\nNAME   \tNAMESPACE\tREVISION\tUPDATED         STATUS  \tCHART         \tAPP VERSION\ndefault\trdi      \t1       \t2025-05-08 ... \tdeployed\tpipeline-0.1.0\t\u003ctag\u003e\nrdi    \trdi      \t3       \t2025-05-08 ...\tdeployed\trdi-1.0.0      \t\n```\n\nAlso, check that all pods have `Running` status:\n\n```bash\nkubectl get pod -n rdi\n\nNAME                      READY  STATUS  \tRESTARTS  AGE\ncollector-api-\u003cid\u003e        1/1    Running  0         29m\nrdi-api-\u003cid\u003e              1/1 \t Running \t0      \t  29m\nrdi-operator-\u003cid\u003e         1/1 \t Running \t0      \t  29m\nrdi-reloader-\u003cid\u003e         1/1 \t Running \t0      \t  29m\n```\n\nYou can verify that the RDI API works by running\n[`redis-di info`](https://redis.io/docs/latest/integrate/redis-data-integration/1.19.1/reference/cli/redis-di-info)\nagainst it, or by adding a connection to the RDI API server to\n[Redis Insight](https://redis.io/docs/latest/develop/tools/insight/rdi-connector).\n\n## Using ingress controllers\n\nYou must ensure that an appropriate\n[ingress controller](https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/)\nis available in your K8s cluster to expose the RDI API service via the K8s\n[`Ingress`](https://kubernetes.io/docs/concepts/services-networking/ingress/)\nresource. Follow the documentation of your cloud provider or of\nthe ingress controller to install the controller correctly.\n\n### Using the `nginx` ingress controller on AKS\n\nOn AKS, if you want to use the open source\n[`nginx`](https://nginx.org/)\n[ingress controller](https://github.com/kubernetes/ingress-nginx/blob/main/README.md#readme)\nrather than the\n[AKS application routing add-on](https://learn.microsoft.com/en-us/azure/aks/app-routing),\nfollow the AKS documentation for\n[creating an unmanaged ingress controller](https://learn.microsoft.com/en-us/troubleshoot/azure/azure-kubernetes/load-bal-ingress-c/create-unmanaged-ingress-controller?tabs=azure-cli).\nSpecifically, ensure that one or both of the following Helm chart values is set:\n\n- `controller.service.annotations.\"service\\.beta\\.kubernetes\\.io/azure-load-balancer-health-probe-request-path\"=/healthz`\n- `controller.service.externalTrafficPolicy=Local`\n\n## Prepare your source database\n\nBefore deploying a pipeline, you must configure your source database to enable CDC. See the\n[Prepare source databases](https://redis.io/docs/latest/integrate/redis-data-integration/1.19.1/data-pipelines/prepare-dbs)\nsection to learn how to do this.\n\n## Deploy a pipeline\n\nWhen the Helm installation is complete and you have prepared the source database for CDC,\nyou are ready to start using RDI. See the guides on how to\n[configure](https://redis.io/docs/latest/integrate/redis-data-integration/1.19.1/data-pipelines) and\n[deploy](https://redis.io/docs/latest/integrate/redis-data-integration/1.19.1/data-pipelines/deploy)\nRDI pipelines for more information. You can also configure and deploy a pipeline\nusing [Redis Insight](https://redis.io/docs/latest/develop/tools/insight). See\n[RDI in Redis Insight](https://redis.io/docs/latest/develop/tools/insight/rdi-connector)\nfor full details on how to connect to RDI and deploy pipelines.\n\n## Uninstall RDI\n\nIf you want to remove your RDI K8s installation, first run\nthe following commands. (If you installed RDI into a custom namespace then\nreplace `rdi` with the name of your namespace.)\n\n```bash\nkubectl delete pipeline default -n rdi\nhelm uninstall rdi -n rdi\nkubectl delete namespace rdi\n```\n\n\u003e [!NOTE]\n\u003e The line `kubectl delete pipeline default -n rdi` is only needed for RDI 1.8.0 or above.\n\nIf you also want to delete the keys from your RDI database, connect to it with\n[`redis-cli`](https://redis.io/docs/latest/develop/tools/cli) and run a\n[`FLUSHALL`](https://redis.io/docs/latest/commands/flushall) command.\n",
  "tags": ["docs","integrate","rs","rdi"],
  "last_updated": "2026-09-19T17:55:58-07:00"
}
