Upgrading existing installation
If you are already using earlier releases of IBM Storage Enabler for Containers, you can upgrade to the newer version without having to uninstall the previous one.
Verify version of your current installation of IBM Storage Enabler for Containers. Only
version 1.2.0 of the package can be upgraded to version 2.0.0.
Perform the following procedure to upgrade IBM Storage Enabler for Containers:
- Download the installer. See Downloading the software package.
- Uncompress the installer *.tar file.
-
Create the service account files using the extracted yaml files.
Note: Enabler for Containers uses the ubiqutiy-k8s-provisioner service account for communication with the Kubernetes API server.
- kubectl create -n ubiquity -f ubiquity-k8s-provisioner-serviceaccount.yml
- kubectl create -n ubiquity -f ubiquity-k8s-provisioner-clusterrolebindings.yml
- kubectl create -n ubiquity -f ubiquity-k8s-provisioner-clusterroles.yml
-
Update and apply the ubiquity-k8s-provisioner deployment using the
kubectl edit deployment ubiquity-k8s-provisioner -n ubiquity command.
- Add the serviceAccount: ubiquity-k8s-provisioner line between spec: and containers:.
- Change the image: tag of the Provisioner from version <current version number> to <new version number>.
- Delete the name: k8s-config and mountPath: /tmp/k8sconfig lines in the volumeMounts category.
- Delete the name: k8s-config, - configMap: and name: k8s-config lines in the volumes category.
- Save and exit the edit mode.
- Delete k8s-config using the kubectl delete -n ubiquity configmap/k8s-config command.
-
Update the rest of the deployment images by changing the image tag from
version <current version number> to <new version number>:
- kubectl edit deployment ubiquity-db -n ubiquity
- kubectl edit deployment ubiquity -n ubiquity
- kubectl edit daemonset ubiquity-k8s-flex -n ubiquity
-
Verify that the image update was successful by checking the status of the IBM Storage Enabler
for Containers pods. Navigate to the directory where the IBM Storage Enabler for Containers was
installed and run the following command ubiquity_cli.sh -a status_wide and check
that all relevant pods are in the Running state.
Note: You can also use the #> kubectl get -n ubiquity pod,daemonset,deployment -o wide command to verify the update.The image update is finished.
-
After the update, change the image version from <current version number> to <new version
number> in all relevant yml files. Otherwise, you will not be able to start the
images using ubiquity_cli.sh -a start. Use the following procedure:
- Navigate to your installer directory and go the /yaml folder in it.
- Locate the following yml files:
- ubiquity-deployment.yml
- ubiquity-k8s-provisioner-deployment.yml
- ubiquity-k8s-flex-daemonset.yml
- ubiquity-db-deployment.yml
- Edit the files and manually change the image version from <current version number> to <new version number>. For example, image: ibmcom/ibm-storage-enabler-for-containers-db:<current version number> to image: ibmcom/ibm-storage-enabler-for-containers-db:<new version number>.