Updating Existing Tenant KubeDirector Applications

This procedure describes updating KubeDirector applications on existing tenants. This procedure might be useful when upgrading from previous versions of HPE Ezmeral Runtime Enterprise.

Prerequisites

  • Required access rights: Host user/install user

About this task

After upgrading HPE Ezmeral Runtime Enterprise, existing tenants do not upgrade their KubeDirector application images automatically.

For example, consider the case in which an application was at version X for one release of HPE Ezmeral Runtime Enterprise, and is at version Y for the new release. After you upgrade HPE Ezmeral Runtime Enterprise, a tenant that was created before the upgrade continues to use application version X, even though a new version of the application exists. However, tenants you create after the upgrade use application version Y.

You can update the application version used by exisitng tenants manually. To obtain the information you need to update the existing tenant, you must create a new tenant. You can later delete the new tenant you created for this purpose.

On the Kubernetes master node, follow this procedure for each existing tenant.

Procedure

  1. To view a list of available KubeDirector applications on a tenant namespace:
    kubectl get kdapp -n <tenant-namespace>
  2. To view information about a specific KubeDirector application in the tenant namespace:
    kubectl describe kdapp <app-name> -n <tenant-namespace>
  3. Delete all existing KubeDirector clusters that reference the KubeDirector application you are updating.

    For example, if there are existing instances of Jupyter Notebook created on a tenant, you cannot update the Jupyter Notebook application. You must delete all KubeDirector clusters referencing the Jupyter Notebook instances before you can modify the Jupyter Notebook application.

  4. For some releases of HPE Ezmeral Runtime Enterprise, there might be changes in addition to image version. To get the latest version of the YAML file, proceed as follows:
    1. Create a new tenant.
    2. Display the information for the new tenant:
      kubectl describe kdapp <app-name> -n <tenant-namespace>
    3. Copy this information to a YAML file.
  5. When you have the latest YAML file, perform one of the following:
    • Option 1:
      1. Delete the existing KubeDirector application:
        kubectl delete kdapp <kdapp-name> -n <tenant-namespace> 
        For example:
         kubectl delete kdapp jupyter-notebook-new -n my-name-space
      2. Create a new KubeDirector application with the latest YAML file version:
        kubectl apply -f <new-kdapp-yaml-file> -n <tenant-namespace> 
    • Option 2: Edit the KubeDirector application:
      kubectl edit kdapp <app-name> -n <tenant-namespace>
      Replace the entire KubeDirector application YAML file with the latest version.
  6. Save your changes.