Upgrading DataCore Puls8
Explore this Page
- Overview
- Upgrade Path Summary
- Requirements
- Pre-Upgrade Validation
- Backup Recommendations
- Upgrade Procedure
- Post-Upgrade Validation
- Troubleshooting
Overview
DataCore Puls8 supports in-place upgrades to deliver new features, performance enhancements, and stability improvements while preserving existing storage resources and configurations.
This document describes how to upgrade DataCore Puls8 from version 4.3 to version 4.4. It includes prerequisites, pre-upgrade validation, the upgrade procedure, post-upgrade checks, and rollback guidelines.
Upgrading to DataCore Puls8 4.4 provides access to the latest features, enhancements, and stability improvements.
Downgrading DataCore Puls8 to a previous version is not supported.
Upgrade Path Summary
- Supported source version: DataCore Puls8 4.3
- Target version: DataCore Puls8 4.4
- Downgrade: Not supported
- Expected downtime: Replicated PV Mayastor single-replica volumes may experience downtime during the upgrade. This behavior is expected. Downtime impact can be mitigated if applications are configured to run in high-availability mode, so that the application may retain business continuity despite losing availability on single instances of single-replica volume. For high availability, it is recommended to use multi-replica volumes.
Requirements
Cluster Requirements
- A healthy Kubernetes cluster running a supported version.
- DataCore Puls8 4.3 installed using the documented Helm installation process.
- Adequate node resources to support rolling upgrades.
Access Requirements
- Kubernetes cluster administrator privileges.
- Ability to pull DataCore Puls8 4.4 container images.
- Permission to install and execute the
kubectl puls8binary. You can download thekubectl puls8plugin from the DataCore Downloads portal.
Network Requirements
No firewall or network policy restrictions blocking DataCore Puls8 control-plane components or image registries.
Pre-Upgrade Validation
- Validate node health.
- Validate DataCore Puls8 component health.
- Check DiskPool status.CopyEnsure all DiskPools are Healthy and Online Before Upgrading
kubectl get diskpools -n <namespace> - Verify Persistent Volume Claim (PVC) and volume status.CopyConfirm that PVCs and Volumes are Bound and Stable
kubectl puls8 mayastor get volumes -n <namespace>
Backup Recommendations
Although DataCore Puls8 upgrades do not alter user data or storage objects, it is recommended to retain backups of key configuration details:
helm get values <puls8-release-name> -n <namespace> > puls8-4.3-values-backup.yaml
You may also backup:
- StorageClass manifests
- DiskPool manifests
- Application manifests referencing DataCore Puls8 volumes
Upgrade Procedure
- Before starting the upgrade, ensure that the installed
kubectl puls8plugin version matches the target Puls8 release version. - Download the Latest
kubectl puls8Binary/Puls8 Command Line Interface (CLI) plugin from the official GitHub Releases page. - Start the upgrade.
- Monitor upgrade progress.
- Delete upgrade records. (Optional)
Post-Upgrade Validation
- Verify component status.
- Verify DiskPools.
- Verify volumes and snapshots.CopyConfirm that Volumes, Snapshots, and PVCs have not been Impacted
kubectl get pvc
kubectl puls8 mayastor get volumes -n <namespace>
kubectl get volumesnapshots - Confirm upgraded version.CopyVerify that the Cluster Reports Puls8 version 4.4
helm get metadata <puls8-release-name> -n <namespace>
Troubleshooting
Common upgrade issues include:
- Namespace discrepancies when running upgrade commands
- Image pull errors caused by registry access restrictions
If the upgrade fails due to namespace mismatches, ensure that all kubectl puls8 commands explicitly specify the namespace where DataCore Puls8 is installed.
Use the -n <namespace> flag consistently with all upgrade commands, for example:
Replace <namespace> with the namespace in which DataCore Puls8 is deployed.
If the upgrade fails due to container image pull errors, the cluster may not have access to the default container registry or repository. In such cases, explicitly specify the container registry and repository namespace when running the upgrade command using the following options:
--registry <REGISTRY>
Specify the container registry for the upgrade-job image
--repo-namespace <REPO_NAMESPACE>
Specify the container namespace for the upgrade-job image
(default: datacoresoftware)
View logs for debugging:
kubectl logs -n <namespace> job/puls8-upgrade-v4-4-0 -f
Learn More