EKF 2.0

This section will guide you through upgrading an existing Arrikto EKF deployment from version 1.5.3 to the latest pre-release version, 2.0.

When you initially deploy EKF on Kubernetes, you end up with a deploy 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.

Important

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.5.3 deployment.

Check Your Environment

EKF 2.0 supports Kubernetes versions 1.21 and 1.22. Thus, in order to proceed with the upgrade, make sure your are running one of the aforementioned versions:

  1. Check the Kubernetes version of your cluster. Ensure that field Server Version is among the supported versions:

    root@rok-tools:~# kubectl version --short Client Version: v1.22.13 Server Version: v1.22.12-eks-ba74326

    Troubleshooting

    Server version is not one that EKF 2.0 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.

    Expand the version selector on the left-side menu and go to the Arrikto Documentation for EKF 1.5.3. Then, follow the EKS Upgrade guide. You can find this guide under Operations Guides > Manage Your EKS Cluster.

    Follow the official Azure documentation for AKS upgrade.

    Expand the version selector on the left-side menu and go to the Arrikto Documentation for EKF 1.5.3. Then, follow the GKE Upgrade guide. You can find this guide under Operations Guides > Manage Your GKE Cluster.

    Note

    Since you are still running EKF 1.5.3 at this point, you first have to upgrade your cluster to the latest Kubernetes version of the ones that EKF 1.5.3 supports, that is Kubernetes 1.19, 1.20, and 1.21. Then, upgrade EKF to 2.0. After you are done with upgrading EKF to 2.0, you can upgrade your cluster to the latest Kubernetes version that EKF 2.0 supports.

  2. Optional

    Ensure that you are running Rok 1.5.3. Get the current images and version from the RokCluster CR and verify that the image tags and version are release-1.5-l0-release-1.5.3:

    root@rok-tools:~# kubectl describe rokcluster rok -n rok ... Spec: Images: Rok: gcr.io/arrikto-deploy/roke:release-1.5-l0-release-1.5.3 Rok CSI: gcr.io/arrikto-deploy/rok-csi:release-1.5-l0-release-1.5.3 Status: Version: release-1.5-l0-release-1.5.3