The Pulsar Resources Operator is a controller that manages the Pulsar resources automatically using the manifest on Kubernetes. Therefore, you can manage the Pulsar resources without the help of pulsar-admin
or pulsarctl
CLI tool. It is useful for initializing basic resources when creating a new Pulsar cluster.
Currently, the Pulsar Resources Operator provides full lifecycle management for the following Pulsar resources, including creation, update, and deletion.
- Tenants
- Namespaces
- Topics
- Permissions
The Pulsar Resources Operator is an independent controller, it doesn’t need to be installed with the pulsar operator. You can install it when you need the feature. And it is built with the Operator SDK, which is part of the Operator framework.
You can install the Pulsar Resources Operator using the officially supported pulsar-resources-operator
Helm chart. It provides Custom Resource Definitions (CRDs) and Controllers to manage the Pulsar resources.
- Install
kubectl
(v1.16 - v1.24), compatible with your cluster (+/- 1 minor release from your cluster). - Install
Helm
(v3.0.2 or higher). - Prepare a Kubernetes cluster (v1.16 - v1.24).
- Prepare a Pulsar cluster
To install the Pulsar Resources Operator, follow these steps.
-
Add the StreamNative chart repository.
helm repo add streamnative https://charts.streamnative.io helm repo update
-
Create a Kubernetes namespace.
kubectl create namespace <k8s-namespace>
Note
You can skip this step if you specify a Kubernetes namespace via the
-- create-namespace <k8s-namespace>
option when you install the operator. -
Install the operator using the
pulsar-resources-operator
Helm chart.helm -n <k8s-namespace> install <release-name> streamnative/pulsar-resources-operator
-
Verify that the operator is installed successfully
kubectl -n <k8s-namespace> get pods
Expected outputs:
NAME READY STATUS RESTARTS AGE <release-name>-pulsar-resources-operator 1/1 Running 0 2m2s
To upgrade the operator, execute the following command.
helm repo update
helm -n <k8s-namespace> upgrade <release-name> streamnative/pulsar-resources-operator
To uninstall the operator, execute the following command.
helm -n <k8s-namespace> uninstall <release-name>
This tutorial guides you through creating Pulsar resources. You can create Pulsar resources automatically by applying resource manifest files to the Kubernetes.
Before creating Pulsar resources, you must create a resource called PularConnection
. The PulsarConnection
covers the address of the Pulsar cluster and the authentication information. You can use this information to access a Pulsar cluster to create other resources.
In this tutorial, a Kubernetes namespace called test
is used for examples, which is the namespace that the pulsar cluster installed.