1. Operate Private Cloud
  2. Upgrade

Upgrade from Pulsar Operators

StreamNative Operator includes controllers for ZooKeeperCluster, BookKeeperCluster, PulsarBroker, PulsarProxy CRDs so it can be smoothly to replace the Pulsar Operators and take over the existing provisioned Pulsar cluster.

This document demonstrates how to upgrade to StreamNative Operator from Pulsar Operators.

To upgrade to sn-operator under the Helm installation, follow below steps.

  • Uninstall the pulsar-operators chart release
helm uninstall pulsar-operator -n sn-system

Note

Do not clean up the ZooKeeperCluster, BookKeeperCluster, PulsarBroker, PulsarProxy CRDs after uninstalling the pulsar-operators pods, removing CRDs will trigger to delete the existing provisioned Pulsar cluster.

  • Import license through
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
metadata:
# This label is a required field for the sn-operator to detect the license.
  labels:
    cloud.streamnative.io/type: "license"
  name: sn-license
  namespace: sn-system
type: Opaque
stringData:
  license: "Your license token"
EOF

If you do not have any license, you can contact StreamNative to apply for a free trial.

  • Apply the StreamNative Operator CRDs
kubectl apply -f https://raw.githubusercontent.com/streamnative/private-cloud/main/charts/sn-operator/crds/bookkeeper.streamnative.io_bookkeeperclusters.yaml --server-side --force-conflicts
kubectl apply -f https://raw.githubusercontent.com/streamnative/private-cloud/main/charts/sn-operator/crds/k8s.streamnative.io_apikeys.yaml --server-side --force-conflicts
kubectl apply -f https://raw.githubusercontent.com/streamnative/private-cloud/main/charts/sn-operator/crds/k8s.streamnative.io_connectorcatalogs.yaml --server-side --force-conflicts
kubectl apply -f https://raw.githubusercontent.com/streamnative/private-cloud/main/charts/sn-operator/crds/k8s.streamnative.io_consoles.yaml --server-side --force-conflicts
kubectl apply -f https://raw.githubusercontent.com/streamnative/private-cloud/main/charts/sn-operator/crds/k8s.streamnative.io_oxiaclusters.yaml --server-side --force-conflicts
kubectl apply -f https://raw.githubusercontent.com/streamnative/private-cloud/main/charts/sn-operator/crds/k8s.streamnative.io_pfsqlclusters.yaml --server-side --force-conflicts
kubectl apply -f https://raw.githubusercontent.com/streamnative/private-cloud/main/charts/sn-operator/crds/k8s.streamnative.io_pulsarcoordinators.yaml --server-side --force-conflicts
kubectl apply -f https://raw.githubusercontent.com/streamnative/private-cloud/main/charts/sn-operator/crds/pulsar.streamnative.io_pulsarbrokers.yaml --server-side --force-conflicts
kubectl apply -f https://raw.githubusercontent.com/streamnative/private-cloud/main/charts/sn-operator/crds/pulsar.streamnative.io_pulsarproxies.yaml --server-side --force-conflicts
kubectl apply -f https://raw.githubusercontent.com/streamnative/private-cloud/main/charts/sn-operator/crds/zookeeper.streamnative.io_zookeeperclusters.yaml --server-side --force-conflicts
  • Install the StreamNative Operator through Helm
helm install sn-operator streamnative/sn-operator -n sn-system

After the sn-operator pod get into running, sn-operator will take over the existing Pulsar cluster.

Previous
OpenShift