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:
git clone git@github.com:rudderlabs/rudderstack-helm.git
Navigate to the folder containing the Helm chart, as shown:
cd rudderstack-helm
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.
helm install my-release ./ --set rudderWorkspaceToken="<your_workspace_token>"
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:
helm upgrade my-release ./ --set rudderWorkspaceToken="<your_workspace_token>"
Self-hosted control plane
Update the configuration or version of the images and run the following command:
helm upgrade my-release ./ --set backend.controlPlaneJSON=true
Uninstalling the chart
To uninstall or delete the my-release
deployment, run the following command:
helm uninstall my-release
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:
rudderWorkspaceToken
Workspace token obtained from the dashboard.
-
backend.image.repository
Container image repository for the backend
rudderlabs/rudder-server
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.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:
helm install --name my-release \
--set backend.image.version=v0.1.6 \
./
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
Was this helpful?