Deploy Redpanda on Kubernetes
This topic describes how to use the Redpanda Helm chart to deploy a Redpanda cluster on Kubernetes.
Prerequisites
Make sure that your Kubernetes cluster meets the requirements.
Deploy Redpanda
Add the chart repository to your Helm installation:
helm repo add redpanda https://charts.redpanda.com/
Update the repository index:
helm repo update
Install the Redpanda Helm chart:
helm install redpanda redpanda/redpanda \
--namespace redpanda \
--create-namespaceWait for the Redpanda cluster to be ready:
kubectl -n redpanda rollout status statefulset redpanda --watch
When the Redpanda cluster is ready, the output should look similar to the following:
statefulset rolling update complete 3 pods at revision redpanda-8654f645b4...
The helm install
command always pulls the latest version of the chart. To list the current latest version of the Redpanda Helm chart, use the helm search
command:
helm search repo redpanda
Example output
NAME CHART VERSION APP VERSION DESCRIPTION
redpanda/redpanda 2.4.0 v22.3.9 Redpanda is the real-time engine for modern apps.
redpanda/console 0.3.3 v2.0.2 Helm chart to deploy Redpanda Console.
The Redpanda Helm chart is the top result (redpanda/redpanda
).
Customize the deployment
Configuring the Redpanda Helm chart allows you to customize your Redpanda cluster deployment. For example, you can do the following:
Specify which components are deployed, such as the number of Redpanda brokers.
Configure the deployed components such as PersistentVolumes.
The Redpanda Helm chart is configured in the values.yaml
file. To customize your deployment, you can override the default values in your own YAML file with the --values
option or in the command line with the --set
option.
- --values
- --set
The --values
option allows you to keep your overrides in one or more YAML files.
For example, you can create a YAML file and add your overrides to it.
For example, you might override the storage.persistentVolume.storageClass
configuration in a file called storage-class.yaml
:
storage:
persistentVolume:
storageClass: "my-storage-class"
The helm
command to apply this configuration override looks something like the following:
helm upgrade --install redpanda redpanda/redpanda \
--namespace redpanda --create-namespace \
--values storage-class.yaml
The values in your YAML file override their counterparts in the Helm chart’s values.yaml
file. Any values that weren’t overridden keep their defaults.
The --set
option allows you to specify configuration overrides in the command line.
For example, you might override the storage.persistentVolume.storageClass
configuration like so:
helm upgrade --install redpanda redpanda/redpanda \
--namespace redpanda --create-namespace \
--set storage.persistentVolume.storageClass=my-storage-class
The values in the --set
options override their counterparts in the Helm chart’s values.yaml
file. Any values that weren’t overridden keep their defaults.
Next steps
See the Manage Kubernetes topics to learn how to customize the deployment to meet your needs.