Upgrade vCluster Platform
Upgrading vCluster Platform is easy. vCluster Platform can be upgraded either via the vCluster CLI, or with Helm.
Upgrade vCluster Platform via:
- CLI
- helm
To upgrade vCluster Platform via vCluster CLI, update $PLATFORM_VERSION
with a valid vCluster Platform version and run:
vcluster platform start --upgrade --version=$PLATFORM_VERSION --values=vcluster-platform.yaml
To upgrade vCluster Platform via helm
, update $PLATFORM_VERSION
with a valid vCluster Platform version and run:
helm upgrade loft vcluster-platform -n vcluster-platform --repository-config '' --repo https://charts.loft.sh \
--version $PLATFORM_VERSION \
--reuse-values \
-f vcluster-platform.yaml
The $PLATFORM_VERSION
variable above is an environment variable set to your desired vCluster Platform version to
deploy. The vcluster-platform.yaml
file is an optional YAML file that contains Helm values you would like
to use when upgrading your vCluster Platform deployment.
Upgrading from v3.x to v4.0
Before attempting to perform this major upgrade please ensure that you have upgraded to the latest v3 release first. E.g. by running the steps above.
If you choose to upgrade vCluster Platform via the CLI it is required to use the vcluster
CLI and not the loft
CLI. For further information
please see the Loft CLI to vCluster CLI Migration section.
With v4.0 the project namespace prefix can now be configured and the default has been changed from loft-p
(which is used by v3) to p-
.
In order for the upgrade from v3 to v4 to succeed you must set this explicitly regardless of updating via the vCluster CLI or via Helm.
Upgrade vCluster Platform from v3 to v4 via:
- CLI
- helm
To upgrade vCluster Platform from v3 to v4 via vCluster CLI, run. Update $PLATFORM_VERSION
with a valid vCluster Platform version.
The following steps assume the existing installation is in the default namespace loft
. The default namespace for v4 is vcluster-platform, so we specify the namespace in the steps.
vcluster platform start --upgrade --namespace loft --version=$PLATFORM_VERSION --values=<(cat <<EOF
config:
projectNamespacePrefix: loft-p-
EOF
)
To upgrade vCluster Platform from v3 to v4 via helm
, run. Update $PLATFORM_VERSION
with a valid vCluster Platform version.
helm upgrade loft vcluster-platform -n loft --repository-config '' --repo https://charts.loft.sh \
--version $PLATFORM_VERSION \
--reuse-values \
-f <(cat <<EOF
config:
projectNamespacePrefix: loft-p-
EOF
)
If you accidentially performed the upgrade without setting the projectNamespacePrefix
to the above mentioned value the vCluster platform Pod will be in a CrashLoopBackoff showing a log similiar to:
cmd/main.go:107 error executing root command {"component": "loft", "error": "init (4): set default project namespace prefix: seems like you have upgraded the platform from an earlier version that uses 'loft-p-' as a project namespace prefix. This has been changed to be 'p-' in the current version. Please set 'projectNamespacePrefix: loft-p-' in the platform config to get rid of this error"}
In that case wait until the Pod starts up again and retry the above upgrade command by passing along a vcluster-platform.yaml file that contains the config change.