<cluster-name>-<revision-hash>
) that represents the current version of the PulsarBroker
CRD. When the PulsarBroker
CRD spec is modified, a new revision hash is generated and triggers a controlled cluster upgrade through these steps:
PulsarBroker
CRD while maintaining the existing cluster’s operation.PulsarBroker
CRD spec. This enables administrators to monitor revision status and roll back to previous versions if needed.
The feature also includes support for canary deployments, allowing teams to validate upgrades on a subset of Brokers before proceeding with a full cluster rollout or executing a rollback if issues are detected.
cloud.streamnative.io/enable-revision: 'true'
to the PulsarBroker
CRD metadata. This enables the feature during cluster creation.
cloud.streamnative.io/topic-unloading-speed
: Controls what percentage of traffic to migrate in each interval (default: "0.1"
, means 10%).cloud.streamnative.io/topic-unloading-interval-second
: Sets the time in seconds between migration intervals (default: 60)spec.updateStrategy.partition
field in the PulsarBroker
CRD.
This field controls which brokers get updated during a rollout. The brokers with an ordinal number greater than or equal to the specified partition value will be updated. By default, the partition value is 0, meaning all brokers will be updated.
PulsarBroker
CRD.spec.updateStrategy.partition
field to 0.PulsarBrokerRevision
CRD for each modification to the PulsarBroker
CRD spec. You can check the revision history of a Pulsar cluster by running the following command:
spec.updateStrategy.revisionHistoryLimit
field in the PulsarBroker
CRD.
Unloading
to track the rollout progress.cloud.streamnative.io/skip-topic-unload: "true"
annotation to skip traffic migration. Apply this annotation to: