This section will guide you through upgrading an existing Arrikto EKF deployment to the latest version, 2.0.2.
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.5.3 deployment or later.
Check Your Environment¶
Find your current EKF version, by getting the current images and version from the RokCluster CR: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
Find your current Kubernetes version by checking the Server Version field of the output of the following command:root@rok-tools:~# kubectl version --short Client Version: v1.23.17 Server Version: v1.21.5-eks-bc4871b
Check the following table to find out whether your current installation is eligible for upgrade to the latest version, that is, 2.0.2.
¶ Current EKF version Current Kubernetes version Eligible for upgrade to 2.0.2 Further instructions EKF 1.5.3 or later Kubernetes 1.19 ❌ Expand the troubleshooting section below the table. EKF 1.5.3 or later Kubernetes 1.20 ❌ Expand the troubleshooting section below the table. EKF 1.5.3 or later Kubernetes 1.21 ✅ Continue with the upgrade. EKF 2.0 Kubernetes 1.21 or 1.22 ✅ Continue with the upgrade. EKF 2.0.1 Kubernetes 1.21, 1.22, or 1.23 ✅ Continue with the upgrade.
EKF version is older than 1.5.3
If your EKF version is older than 1.5.3, then you need to upgrade to 1.5.3 first.
- Expand the version selector on the left-side menu and go to the Arrikto Documentation for Release 1.5. Then, follow the EKF 1.5 guide. You can find this guide under Upgrades > EKF 1.5.
Kubernetes version is older than 1.21
If your Kubernetes version is not one that EKF supports, you need to upgrade your Kubernetes version before you proceed with the EKF upgrade. Choose one of the following options, based on your cloud provider.
- Upgrade Management Environment
- Switch Release Channel
- Upgrade Manifests
- Upgrade AWS Load Balancer Controller
- Upgrade NGINX Ingress Controller
- Upgrade Serving NGINX Ingress Controller
- Upgrade Istio
- Upgrade Dex
- Upgrade Rok
- Upgrade and Scale Up Rok etcd
- Upgrade Rest Rok Components
- Upgrade Kubeflow
- Upgrade Rok Registry etcd
- Upgrade Rok Registry
- Upgrade Cluster Autoscaler
- Upgrade NVIDIA Device Plugin
- Upgrade ExternalDNS
- Migrate from FluentD to Fluent Bit
- Test Upgrade