You are looking at the documentation of a prior release. To read the documentation of the latest release, please
visit here.
This guide will show you how to upgrade various KubeDB components. Here, we are going to show how to upgrade from an old KubeDB version to the new version, and how to update the license, etc.
v2021.xx.xx
to v2023.12.21
In order to upgrade from KubeDB v2021.xx.xx
to v2023.12.21
, please follow the following steps.
Helm does not upgrade the CRDs bundled in a Helm chart if the CRDs already exist. So, to upgrde the KubeDB catalog CRD, please run the command below:
kubectl apply -f https://github.com/kubedb/installer/raw/v2023.12.21/crds/kubedb-catalog-crds.yaml
Now, upgrade the KubeDB helm chart using the following command. You can find the latest installation guide here. We recommend that you do not follow the legacy installation guide, as the new process is much more simpler.
helm upgrade -i kubedb oci://ghcr.io/appscode-charts/kubedb \
--version v2023.12.21 \
--namespace kubedb --create-namespace \
--set kubedb-catalog.skipDeprecated=false \
--set-file global.license=/path/to/the/license.txt \
--wait --burst-limit=10000 --debug
helm upgrade -i kubedb oci://ghcr.io/appscode-charts/kubedb \
--version v2023.12.21 \
--namespace kubedb --create-namespace \
--set kubedb-catalog.skipDeprecated=false \
--set global.insecureRegistries[0]=hub.example.com \
--set global.insecureRegistries[1]=hub2.example.com \
--set-file global.license=/path/to/the/license.txt \
--wait --burst-limit=10000 --debug
Now, upgrade Stash if had previously installed Stash following the instructions here. If you had not installed Stash before, please install Stash following the instructions here.
v2021.01.26
(v0.16.x
) and older to v2023.12.21
In KubeDB v2021.01.26
(v0.16.x
) and prior versions, KubeDB used separate charts for KubeDB community edition, KubeDB enterprise edition, and KubeDB catalogs. In KubeDB v2023.12.21
, we have moved to a single combined chart for all the components for a better user experience. KubeDB still depends on Stash as the backup/recovery operator and Stash must be installed separately.
In order to upgrade from KubeDB v2021.01.26
(v0.16.x
) to v2023.12.21
, please follow the following steps.
Uninstall the old KubeDB operator by following the appropriate uninstallation guide of the KubeDB version that you are currently running.
Make sure you are using the appropriate version of the uninstallation guide. Use the dropdown at the sidebar of the documentation site to navigate to the appropriate version that you are currently running.
Helm does not upgrade the CRDs bundled in a Helm chart if the CRDs already exist. So, to upgrde the KubeDB catalog CRD, please run the command below:
kubectl apply -f https://github.com/kubedb/installer/raw/v2023.12.21/crds/kubedb-catalog-crds.yaml
Now, follow the latest installation guide to install the new version of the KubeDB operator. You can find the latest installation guide here. We recommend that you do not follow the legacy installation guide, as the new process is much more simpler.
Now, upgrade Stash if had previously installed Stash following the instructions here. If you had not installed Stash before, please install Stash following the instructions here.
KubeDB support updating license without requiring any re-installation. 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:
# detect current version
helm ls -A | grep kubedb
# update license key keeping the current version
helm upgrade -i kubedb oci://ghcr.io/appscode-charts/kubedb \
--version=<cur_version> \
--reuse-values \
--set-file global.license=/path/to/new/license.txt \
--wait --burst-limit=10000 --debug
# detect current version
helm ls -A | grep kubedb
# update license key keeping the current version
helm template kubedb oci://ghcr.io/appscode-charts/kubedb \
--version=<cur_version> \
--namespace kubedb --create-namespace \
--set global.skipCleaner=true \
--show-only appscode/kubedb/templates/license.yaml \
--set-file global.license=/path/to/new/license.txt | kubectl apply -f -