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
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.
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
kubectl apply -f https://raw.githubusercontent.com/streamnative/private-cloud/refs/heads/main/charts/sn-operator/crds/k8s.streamnative.io_kafkaconnects.yaml --server-side
kubectl apply -f https://raw.githubusercontent.com/streamnative/private-cloud/refs/heads/main/charts/sn-operator/crds/k8s.streamnative.io_oxianamespaces.yaml --server-side
kubectl apply -f https://raw.githubusercontent.com/streamnative/private-cloud/refs/heads/main/charts/sn-operator/crds/k8s.streamnative.io_unilinks.yaml --server-side
kubectl apply -f https://raw.githubusercontent.com/streamnative/private-cloud/refs/heads/main/charts/sn-operator/crds/k8s.streamnative.io_unilinkschemas.yaml --server-side
kubectl apply -f https://raw.githubusercontent.com/streamnative/private-cloud/refs/heads/main/charts/sn-operator/crds/pulsar.streamnative.io_pulsarbrokerrevisions.yaml --server-side
- 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.
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
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.
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
kubectl apply -f https://raw.githubusercontent.com/streamnative/private-cloud/refs/heads/main/charts/sn-operator/crds/k8s.streamnative.io_kafkaconnects.yaml --server-side
kubectl apply -f https://raw.githubusercontent.com/streamnative/private-cloud/refs/heads/main/charts/sn-operator/crds/k8s.streamnative.io_oxianamespaces.yaml --server-side
kubectl apply -f https://raw.githubusercontent.com/streamnative/private-cloud/refs/heads/main/charts/sn-operator/crds/k8s.streamnative.io_unilinks.yaml --server-side
kubectl apply -f https://raw.githubusercontent.com/streamnative/private-cloud/refs/heads/main/charts/sn-operator/crds/k8s.streamnative.io_unilinkschemas.yaml --server-side
kubectl apply -f https://raw.githubusercontent.com/streamnative/private-cloud/refs/heads/main/charts/sn-operator/crds/pulsar.streamnative.io_pulsarbrokerrevisions.yaml --server-side
- 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.
To upgrade to sn-operator
under the Helm installation, follow below steps.
- Delete
pulsar-operators
related Subscription
:
kubectl delete subscription zookeeper-operator -n operators
kubectl delete subscription bookkeeper-operator -n operators
kubectl delete subscription pulsar-operator -n operators
- Delete
pulsar-operators
related ClusterServiceVersion
:
kubectl delete csv bookkeeper-operator.v0.17.10 -n operators
kubectl delete csv pulsar-operator.v0.17.10 -n operators
kubectl delete csv zookeeper-operator.v0.17.10 -n operators
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.
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.
- Install the StreamNative Operator through OLM
kubectl apply -f https://raw.githubusercontent.com/streamnative/private-cloud/main/quick-start/olm-subscriptions.yaml
After the sn-operator
pod get into running, sn-operator
will take over the existing Pulsar cluster.