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
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.
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:
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
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.
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.
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
- 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 Rok
- Upgrade and Scale Up Rok etcd
- Upgrade Rest Rok Components
- Upgrade Kubeflow
- Upgrade Rok Registry
- Upgrade Rok Registry etcd
- Upgrade NVIDIA Device Plugin
- Upgrade ExternalDNS
- Migrate from FluentD to Fluent Bit
- Test Upgrade