This section will guide you through upgrading an existing Arrikto EKF deployment from version 1.4 to the latest version, 1.5.1.
When you initially deploy EKF on Kubernetes, you end up with a
overlay in each Rok and Kubeflow component or external service that you then
apply to Kubernetes. In the GitOps deployment repository, Arrikto provides
manifests that include the
deploy overlay in each Kustomize app or package
as scaffold, so that you can quickly start and set your preferences.
Once Arrikto releases a new EKF version and pushes updated deployment manifests, you have to follow the standard GitOps workflow:
- Fetch latest upstream changes, pushed by Arrikto.
- Rebase local changes on top of the latest upstream ones and resolve conflicts, if any.
- Edit manifests based on Arrikto-provided instructions, if necessary.
- Commit everything.
- Reapply manifests.
The fetch/rebase process might lead to conflicts since both Arrikto and you as the end user might modify the same files that Git tracks. In this scenario, the most common and obvious solution is to keep your changes since they are the ones that reflect the existing deployment.
In case of breaking changes, for example, parts of YAML documents that are absolutely necessary to perform the upgrade, or others that might be deprecated, Arrikto will inform you via version-specific upgrade notes for all actions that you need to take.
What You’ll Need¶
- An Arrikto EKF 1.4 deployment.
Check Your Environment¶
EKF 1.5.1 supports Kubernetes version 1.19, 1.20, and 1.21. Thus, in order to proceed with the upgrade, make sure your are running one of the aforementioned versions:
Check the Kubernetes version of your cluster. Ensure that field Server Version is v1.19.*:root@rok-tools:~# kubectl version --short Client Version: v1.20.15 Server Version: v1.19.13-eks-8df270
Server version is not one that EKF 1.5.1 supports
If your server version is not one that EKF supports, you need to upgrade your Kubernetes version before you proceed with the EKF upgrade.
To upgrade your Kubernetes version, choose one of the following options, based on your cloud provider.
Since you are still running EKF 1.4 at this point, you can’t yet upgrade your cluster to Kubernetes 1.20 or 1.21, because EKF 1.4 does not support these versions and you might end up with a broken deployment. If you are running Kubernetes 1.18 or earlier, you need to upgrade to Kubernetes 1.19 and then upgrade EKF to 1.5.1. After you are done with upgrading EKF to 1.5.1, you can upgrade your cluster to Kubernetes 1.20 and then to 1.21.
Ensure that you are running Rok 1.4. Get the current images and version from the RokCluster CR and verify that the image tags and version are release-1.4-l0-release-1.4:root@rok-tools:~# kubectl describe rokcluster rok -n rok ... Spec: Images: Rok: gcr.io/arrikto-deploy/roke:release-1.4-l0-release-1.4 Rok CSI: gcr.io/arrikto-deploy/rok-csi:release-1.4-l0-release-1.4 Status: Version: release-1.4-l0-release-1.4