Migrate Releases from Helm v2 to Helm v3

About this task

After upgrading a cluster, end users’ Helm releases are not upgraded from version 2. Run a custom script to migrate the end users’ Helm releases or installs to Helm v3.

Procedure

  1. Install the /helm-2to3 plugin.

    ~(keystone-admin)]$ mkdir plugin
    wget https://github.com/helm/helm-2to3/releases/download/v0.9.0/helm-2to3_0.9.0_linux_amd64.tar.gz
    pushd plugin/
    tar -xvzf ../helm-2to3_0.9.0_linux_amd64.tar.gz
    mkdir bin
    cp 2to3 bin
    popd
    export HELM_LINTER_PLUGIN_NO_INSTALL_HOOK=true
    helm plugin install ./plugin
    
  2. Move the helm2 config to helm3.

    ~(keystone-admin)]$ helm 2to3 move config
    
  3. Choose a Helm v2 release to migrate.

    ~(keystone-admin)]$ helmv2-cli -- helm list -a
    
  4. Migrate a helm2 release, for example, myApplication.

    ~(keystone-admin)]$ ./migrate_helm_release.py myApplication
    
  5. Check if it migrated successfully.

    ~(keystone-admin)]$ helm list -A -a
    
  6. The migrated release should not appear in helm2.

    ~(keystone-admin)]$ helmv2-cli -- helm list -a