Upgrading KubeDB

This guide will show you how to upgrade KubeDB operator. Here, we are going to show how to update the license and how to upgrade between two KubeDB versions.

Updating License

KubeDB support updating license without requiring any re-installation or restart. KubeDB creates a Secret named <helm release name>-license with the license file. You just need to update the Secret. The changes will propagate automatically to the operator and it will use the updated license going forward.

Follow the below instructions to update the license:

  • Get a new license and save it into a file.
  • Then, run the following upgrade command based on your installation.

Using Helm 3

$ helm upgrade kubedb-enterprise -n kube-system appscode/kubedb-enterprise  \
    --reuse-values                                                        \
    --set-file license=/path/to/new/license.txt

Using Helm 2

$ helm upgrade kubedb-enterprise appscode/kubedb-enterprise  \
    --reuse-values                                         \
    --set-file license=/path/to/new/license.txt

Using YAML (with helm 3)

$ helm template kubedb-enterprise appscode/kubedb-enterprise  \
    --set-file license=/path/to/new/license.txt             \
    --show-only templates/license.yaml                      \
    --no-hooks | kubectl apply -f -

Upgrading Between Community Edition and Enterprise Edition

KubeDB uses two different binaries for Community edition and Enterprise edition. So, it is not possible to upgrade between the Community edition and Enterprise edition without re-installation. However, it is possible to re-install KubeDB without losing the existing backup resources.

Follow the below instructions to re-install KubeDB:

  • Uninstall the old version by following the respective uninstallation guide. Don’t delete the CRDs.
  • Install the new version by following the respective installation guide.

Upgrading between patch versions

If you are upgrading KubeDB to a patch release, please reapply the installation instructions. That will upgrade the operator pod to the new version and fix any RBAC issues.