This section contains information on upgrading cert-manager. It also contains documents detailing breaking changes between cert-manager versions, and information on things to look out for when upgrading.
Note: Before performing upgrades of cert-manager, it is advised to take a backup of all your cert-manager resources just in case an issue occurs whilst upgrading. You can read how to backup and restore cert-manager in the backup and restore guide.
Upgrading with Helm
If you installed cert-manager using Helm, you can easily upgrade using the Helm CLI.
Note: Before upgrading, please read the relevant instructions at the links below for your from and to version.
Once you have read the relevant upgrading notes and taken any appropriate
actions, you can begin the upgrade process like so - replacing
with the name of your Helm release for cert-manager (usually this is
cert-manager) and replacing
<version> with the version number you want to
Install the cert-manager
CustomResourceDefinition resources before upgrading
the Helm chart.
$ kubectl apply \ --validate=false \ -f https://raw.githubusercontent.com/jetstack/cert-manager/<version>/deploy/manifests/00-crds.yaml
Add the Jetstack Helm repository if you haven’t already.
$ helm repo add jetstack https://charts.jetstack.io
Ensure the local Helm chart repository cache is up to date
$ helm repo update $ helm upgrade --version <version> <release_name> jetstack/cert-manager
This will upgrade you to the latest version of cert-manager, as listed in the Jetstack Helm chart repository.
Note: You can find out your release name using
helm list | grep cert-manager.
Upgrading using static manifests
If you installed cert-manager using the static deployment manifests published on each release, you can upgrade them in a similar way to how you first installed them.
Note: Before upgrading, please read the relevant instructions at the links below Note: for your from and to version.
Once you have read the relevant notes and taken any appropriate actions, you can
begin the upgrade process like so - replacing
<version> with the version
number you want to install:
$ kubectl apply \ --validate=false \ -f https://github.com/jetstack/cert-manager/releases/download/<version>/cert-manager.yaml
Note: If you are running Kubernetes
v1.15.4or below, you will need to add the
--validate=falseflag to your
kubectl applycommand above else you will receive a validation error relating to the
x-kubernetes-preserve-unknown-fieldsfield in our
CustomResourceDefinitionresources. This is a benign error and occurs due to the way
kubectlperforms resource validation.