Kubernetes
Step-by-step instructions for deploying RudderStack on Kubernetes.
You can deploy the RudderStack data plane on your Kubernetes cluster using the Helm package manager.
You can find the Helm chart in the RudderStack GitHub repository.
If you are planning to use RudderStack in production, it is strongly recommended to use the Kubernetes Helm charts.
Setup prerequisites
RudderStack-hosted control plane
If you're using the RudderStack-hosted control plane, follow these steps to set up the data plane on your Kubernetes cluster:
Log into your RudderStack Open Source dashboard.
Note and copy your workspace token from the top of the page, as shown:
The workspace token is required for setting up the data plane.
Clone the RudderStack Helm repository containing the RudderStack Helm chart by running the following command:
Navigate to the folder containing the Helm chart, as shown:
To install the chart with the release name
my-release
, run the following command after replacing<your_workspace_token>
with the workspace token copied above.
The above command deploys RudderStack on your default Kubernetes cluster configured with kubectl
.
Refer to the Configuration section below for more information on the parameters that you can configure during the deployment.
Self-hosted control plane
If you have self-hosted the control plane using the open-source Control Plane Lite utility, follow Kubernetes instructions to set up the data plane.
Sending test events
Once you have successfully performed the steps above, follow the Sending Test Events guide to verify the installation.
Upgrading the Helm chart
The following sections contain detailed steps for upgrading your Helm chart depending on your RudderStack control plane setup.
RudderStack-hosted control plane
Update the configuration or version of the images and run the following command:
Self-hosted control plane
Update the configuration or version of the images and run the following command:
Uninstalling the chart
To uninstall or delete the my-release
deployment, run the following command:
This removes all the components created by the chart.
Instructions for Google Cloud Platform
If you are using Google Cloud Storage or Google BigQuery for the following cases:
Google Cloud Storage as a destination for dumping jobs, or
Google BigQuery as a warehouse destination
Make sure you replace the contents of the file rudder-google-application-credentials.json in the repository with the details of your Google service account.
Configuration
The following table lists the configurable parameters of the RudderStack chart and their default values:
Parameter | Description | Default value |
---|---|---|
| Workspace token obtained from the dashboard. |
|
| Container image repository for the backend |
|
| Container image tag for the backend. Check the available versions |
|
| Container image pull policy for the backend image |
|
| Container image repository for the transformer |
|
| Container image tag for the transformer. Check the available versions |
|
| Container image pull policy for the transformer image |
|
| Extra environments variables to be used by the backend in the deployments | Refer the |
| Set this to |
|
Each of these parameters can be changed in values.yaml
. You can also specify each parameter using the --set key=value[,key=value]
argument while running the helm install
command, as shown:
The data plane-specific configuration can be edited in the
config.yaml
file.The PostgreSQL-specific configuration can be configured in
pg_hba.conf
andpostgresql.conf
.
Components
Installing this Helm chart will deploy the following pods and containers in the configured cluster:
POD - {Release name}-rudderstack-0 :
rudderstack-backend
rudderstack-telegraf-sidecar
POD - {Release name}-rudderstack-postgresql-0 :
{Release name}-rudderstack-postgresql
POD - {Release name}-rudderstack-transformer-xxxxxxxxxx-xxxxx:
transformer
Contact us
If you come across any issues while setting up RudderStack on your Kubernetes cluster, contact us or start a conversation in our Slack community.
Last updated