Upgrade Dapr on a Kubernetes cluster

    There are two ways to upgrade the Dapr control plane on a Kubernetes cluster using either the Dapr CLI or Helm.

    Note

    Refer to the for guidance on which versions of Dapr can be upgraded to which versions.

    The example below shows how to upgrade to version 1.10.2:

    You can provide all the available Helm chart configurations using the Dapr CLI. See for more info.

    Troubleshooting upgrade using the CLI

    There is a known issue running upgrades on clusters that may have previously had a version prior to 1.0.0-rc.2 installed on a cluster.

    1. The CustomResourceDefinition "configurations.dapr.io" is invalid: spec.preserveUnknownFields: Invalid value: true: must be false in order to use defaults in the schema

    To resolve this issue please run the follow command to upgrade the CustomResourceDefinition to a compatible version:

    Then proceed with the dapr upgrade --runtime-version 1.10.2 -k command as above.

    Helm

    From version 1.0.0 onwards, upgrading Dapr using Helm is no longer a disruptive action since existing certificate values will automatically be re-used.

    1. Upgrade Dapr from 1.0.0 (or newer) to any [NEW VERSION] > 1.0.0:

      Helm does not handle upgrading CRDs, so you need to perform that manually. CRDs are backward-compatible and should only be installed forward.

      For version 1.10.2:

      1. kubectl replace -f https://raw.githubusercontent.com/dapr/dapr/v1.10.2/charts/dapr/crds/configuration.yaml
      1. helm upgrade dapr dapr/dapr --version 1.10.2 --namespace dapr-system --wait

      If you’re using a values file, remember to add the --values option when running the upgrade command.

    2. Ensure all pods are running:

    3. Restart your application deployments to update the Dapr runtime:

    4. All done!

    Upgrading existing Dapr to enable high availability mode

    Last modified February 8, 2023: