The recommended upgrade method for an existing Crossplane install is to use Helm.

Prerequisites

  • Helm version v3.2.0 or later

Add the Crossplane Helm repository

Verify Helm has the Crossplane repository.

1helm repo add crossplane-stable https://charts.crossplane.io/stable

Update the Helm repository

Update the local Crossplane Helm chart with helm repo update.

1helm repo update
Important
Upgrading Crossplane without updating the Helm chart installs the last version available in the locally cached Helm chart.

Upgrade Crossplane

Upgrade Crossplane with helm upgrade, providing the Crossplane namespace. By default, Crossplane installs into the crossplane-system namespace.

1helm upgrade crossplane --namespace crossplane-system crossplane-stable/crossplane

Helm preserves any arguments or flags originally used when installing Crossplane.

Crossplane uses any new default behaviors unless they’re changed in the helm upgrade command.

For example, in v1.15.0 Crossplane changed the default image registry from index.docker.io to xpkg.upbound.io. Upgrading Crossplane from a version before v1.15.0 updates the default package registry.

Override new defaults by customizing the Helm chart with the upgrade command.

For example, to maintain the original image registry use

1helm upgrade crossplane --namespace crossplane-system crossplane-stable/crossplane `--set 'args={"--registry=index.docker.io"}'