Deploy a Pulsar cluster on Kubernetes
Before deploying a Pulsar cluster, you need to prepare Kubernetes resources and then continue with the following steps.
Step 1: Select configuration options
Specify how to run Pulsar using Helm's --set option.name=value
command line option. In each section, collect the options that are combined to use with the helm install
command.
Kubernetes namespace
By default, the Pulsar Helm Chart is installed in a namespace called pulsar
.
namespace: pulsar
To install the Pulsar Helm Chart into a different Kubernetes namespace, you can include this option in the helm install
command.
--set namespace=<different-k8s-namespace>
By default, the Pulsar Helm Chart doesn't create the namespace.
namespaceCreate: false
To use the Pulsar Helm Chart to create the Kubernetes namespace automatically, you can include this option in the helm install
command.
--set namespaceCreate=true
Persistence
By default, the Pulsar Helm Chart creates Volume Claims with the expectation that a dynamic provisioner creates the underlying Persistent Volumes.
volumes:
persistence: true
Before installing the production instance of Pulsar, ensure to plan the storage settings to avoid extra storage migration work. Because after initial installation, you must edit Kubernetes objects manually if you want to change storage settings.
The Pulsar Helm Chart is designed for production use. To use the Pulsar Helm Chart in a development environment (such as Minikube), you can disable persistence by including this option in your helm install
command.
--set volumes.persistence=false
Affinity
By default, anti-affinity
is enabled to ensure pods of the same component can run on different nodes.
affinity:
anti_affinity: true
To use the Pulsar Helm Chart in a development environment (such as Minikube), you can disable anti-affinity
by including this option in your helm install
command.
--set affinity.anti_affinity=false
Components
The Pulsar Helm Chart is designed for production usage. It deploys a production-ready Pulsar cluster, including Pulsar core components and monitoring components.
You can customize the components to be deployed by turning on/off individual components.
## Components
##
## Control what components of Apache Pulsar to deploy for the cluster
components:
# zookeeper
zookeeper: true
# bookkeeper
bookkeeper: true
# bookkeeper - autorecovery
autorecovery: true
# broker
broker: true
# functions
functions: true
# proxy
proxy: true
# toolset
toolset: true
# pulsar manager
pulsar_manager: true