This guide will walk you through the manual steps to upgrade the software in a Rook EdgeFS cluster from one version to the next. Rook EdgeFS is a multi-cloud distributed software system and therefore there are multiple components to individually upgrade in the sequence defined in this guide. After each component is upgraded, it is important to verify that the cluster returns to a healthy and fully functional state.
We welcome feedback and opening issues!
The supported version for this upgrade guide is from a 1.0 release to a 1.x releases. Build-to-build upgrades are not guaranteed to work. This guide is to perform upgrades only between the official releases.
Upgrades from Alpha to Beta not supported. However, please see migration procedure below.
EdgeFS Operator provides a way of preserving data on disks or directories while moving to a new version (like Alpha to Beta transitioning) or reconfiguring (like full re-start).
Example of migration from
- Delete all EdgeFS services in Kubernetes, e.g.,
kubectl delete -f s3.yaml
- Delete EdgeFS cluster, e.g.,
kubectl delete -f cluster.yaml
- Delete EdgeFS operator, e.g.,
kubectl delete -f operator.yaml
- Edit operator.yaml to transition to a new version. This has to be done for each CustomResourceDefinition in the file.
- Create EdgeFS operator, e.g.,
kubectl create -f operator.yaml
- Edit cluster.yaml to transition to a new version. I.e.
- If you using devices, edit cluster.yaml and enable devicesResurrectMode “restore” and delete in-use discovery configmaps. This will preserve old cluster data.
- Create EdgeFS cluster, e.g.,
kubectl create -f cluster.yaml
- Login to mgr container and check system status, e.g.,
efscli system status
- Edit EdgeFS services CRD files to transition to a new version. I.e.
- Deploy services CRDs, e.g.,
kubectl create -f s3.yaml
EdgeFS Rolling Upgrade
This feature is coming soon in 1.1 release. Stay tuned!