Upgrade Rest Rok Components

This guide will walk you through upgrading the rest of Rok components.

What You’ll Need

Procedure

  1. Go to your GitOps repository, inside your rok-tools management environment:

    root@rok-tools:~# cd ~/ops/deployments
  2. Delete the Dex Deployment in the auth namespace:

    root@rok-tools:~/ops/deployments# kubectl delete deploy -n auth dex \ > --ignore-not-found deployment.apps "dex" deleted

    Note

    EKF 2.0 deploys Dex as a StatefulSet with persistent storage provided by Rok.

  3. Upgrade the rest of the Rok installation components by applying the latest Rok manifests:

    root@rok-tools:~/ops/deployments# rok-deploy --apply install/rok
  4. Remove any stale custom resources that Dex might have left behind while operating with Kubernetes CRDs as its storage backend:

    root@rok-tools:~/ops/deployments# kubectl delete -n auth --all \ > --ignore-not-found \ > authcodes.dex.coreos.com,\ > authrequests.dex.coreos.com,\ > connectors.dex.coreos.com,\ > devicerequests.dex.coreos.com,\ > devicetokens.dex.coreos.com,\ > oauth2clients.dex.coreos.com,\ > offlinesessionses.dex.coreos.com,\ > passwords.dex.coreos.com,\ > refreshtokens.dex.coreos.com,\ > signingkeies.dex.coreos.com offlinesessions.dex.coreos.com "3opdnr6v5xfwg" deleted signingkey.dex.coreos.com "openid-connect-keys" deleted

    Note

    EKF 2.0 changes Dex’s storage backend from Kubernetes to SQLite3. As such, after applying the latest manifests, Dex will stop garbage collecting any existing CRs.

Verify

  1. Go to your GitOps repository, inside your rok-tools management environment:

    root@rok-tools:~# cd ~/ops/deployments
  2. Set the namespace in which you deployed Rok. Choose one of the following options, based on your cloud provider.

    Restore the required context from previous sections.

    root@rok-tools:~/ops/deployments# source deploy/env.cloudidentity
    root@rok-tools:~/ops/deployments# export ROK_CLUSTER_NAMESPACE
    root@rok-tools:~/ops/deployments# export ROK_CLUSTER_NAMESPACE=rok
    root@rok-tools:~/ops/deployments# export ROK_CLUSTER_NAMESPACE=rok
  3. Ensure that Rok is up and running. Verify that field Health is OK and field Phase is Running:

    root@rok-tools:~/ops/deployments# kubectl describe rokcluster -n ${ROK_CLUSTER_NAMESPACE?} rok ... Status: Health: OK Phase: Running Ready Members: 2 Total Members: 2 Version: release-2.0-l0-release-2.0
  4. Ensure that all Pods in the Rok namespace are up and running. Verify that field READY is N/N and field STATUS is Running for all Pods:

    root@rok-tools:~/ops/deployments# kubectl get pods -n ${ROK_CLUSTER_NAMESPACE?} NAME READY STATUS RESTARTS AGE rok-csi-controller-0 5/5 Running 0 1m rok-csi-guard-ip-172-31-34-181.eu-central-1.compute.interntthrs 1/1 Running 0 1m rok-csi-guard-ip-172-31-47-250.eu-central-1.compute.internnsgb5 1/1 Running 0 1m rok-csi-node-27422 3/3 Running 0 1m rok-csi-node-qs7pm 3/3 Running 0 1m rok-etcd-0 2/2 Running 0 1m rok-etcd-1 2/2 Running 0 1m rok-etcd-2 2/2 Running 0 1m rok-p7kqh 2/2 Running 0 1m rok-redis-0 3/3 Running 0 1m rok-vd5lp 2/2 Running 0 1m
  5. Ensure that Dex is up and running. Verify that field READY is 1/1:

    root@rok-tools:~/ops/deployments# kubectl get sts -n auth NAME READY AGE dex 1/1 1m

Summary

You have successfully upgraded the rest of Rok components.

What’s Next

The next step is to upgrade Kubeflow.