Upgrading PGO v5 Using Helm

Once PGO v5.0.x has been installed with Helm, it can then be upgraded using the helm upgrade command. However, before running the upgrade command, any CustomResourceDefinitions (CRDs) must first be manually updated (this is specifically due to a design decision in Helm v3, in which any CRDs in the Helm chart are only applied when using the helm install command).

If you would like, before upgrading the CRDs, you can review the changes with kubectl diff. They can be verbose, so a pager like less may be useful:

kubectl diff -f helm/install/crds | less

Use the following command to update the CRDs using server-side apply before running helm upgrade. The --force-conflicts flag tells Kubernetes that you recognize Helm created the CRDs during helm install.

kubectl apply --server-side --force-conflicts -f helm/install/crds

Then, perform the upgrade using Helm:

helm upgrade <name> -n <namespace> helm/install