Kubernetes
Step-by-step instructions for deploying RudderStack on Kubernetes.
Last updated
Was this helpful?
Step-by-step instructions for deploying RudderStack on Kubernetes.
Last updated
Was this helpful?
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.
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.
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.
Once you have successfully performed the steps above, follow the Sending Test Events guide to verify the installation.
The following sections contain detailed steps for upgrading your Helm chart depending on your RudderStack control plane setup.
Update the configuration or version of the images and run the following command:
Update the configuration or version of the images and run the following command:
To uninstall or delete the my-release
deployment, run the following command:
This removes all the components created by the chart.
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.
The following table lists the configurable parameters of the RudderStack chart and their default values:
rudderWorkspaceToken
Workspace token obtained from the dashboard.
-
backend.image.repository
Container image repository for the backend
rudderlabs/rudder-server
backend.image.version
0.1.9
backend.image.pullPolicy
Container image pull policy for the backend image
Always
transformer.image.repository
Container image repository for the transformer
rudderlabs/transformer
transformer.image.version
0.1.4
transformer.image.imagePullPolicy
Container image pull policy for the transformer image
Always
backend.extraEnvVars
Extra environments variables to be used by the backend in the deployments
Refer the values.yaml
file
backend.controlPlaneJSON
Set this to true
for the data plane to read the configuration from the workspaceConfig.json
file if you have a self-hosted control plane.
false
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
and postgresql.conf
.
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
If you come across any issues while setting up RudderStack on your Kubernetes cluster, contact us or start a conversation in our Slack community.
Container image tag for the backend. Check the
Container image tag for the transformer. Check the