Upgrading NiFi

Upgrade the NiFi cluster by editing the Nifi CR and changing the NiFi version. NiFi v2 deployments support rolling upgrades, while NiFi v1 deployments experience service downtime during an upgrade.

Make sure that you have access to the latest NiFi image required for your update.

Both the Cloudera Docker registry and the Cloudera Archive require Cloudera credentials (username and password) for access. These credentials are provided to you as part of your license and subscription agreement and can be used to access both the registry and the archive.

Artifact Location SHA Description
Apache NiFi Docker images https://container.repository.cloudera.com/cloudera/cfm-nifi-k8s:3.1.0-b129-nifi_1.28.1.2.3.17.0-9 sha256:0548b974e0d3fa78757b172735538a8edb1afbe02755542edaf7cccafc5da9ce Docker image for Cloudera Flow Management Operator for Kubernetes NiFi 1.28.1
https://container.repository.cloudera.com/cloudera/cfm-nifi-k8s:3.1.0-b129-nifi_2.6.0.4.12.0.1-9 sha256:78e38b5948c2bff7f25cf9ea8e3fa748869ad208b59cbda674e168d2a10e585e Docker image for Cloudera Flow Management Operator for Kubernetes NiFi 2.6.0
Terminology:
  • An upgrade involves changing the NiFi version. If you only change NiFi configuration without version change, it is not considered an upgrade.

  • A rolling upgrade is when Kubernetes cycles pods one at a time so at least one pod always stays active during the process.

  • A non-rolling upgrade is when all pods are deleted automatically all at once and then restarted, expect some downtime during the restart.

Scenarios:
  • You change the NiFi configuration, but do not change the NiFi version number: a rolling upgrade will be performed, regardless of NiFi version.
  • You upgrade from NiFi v1 to a different NiFi v1 version (for example, from NiFi 1.26.0 to 1.26.1): a non-rolling upgrade will be performed, as NiFi v1 does not support version changes in a rolling manner.
  • You upgrade from a NiFi v2 to a different NiFi v2 version (for example from 2.3.1 to 2.6.0): a rolling upgrade will be performed.
  • You migrate from NiFi v1 to NiFi v2: a non-rolling upgrade will be performed.
Cloudera Flow Management Operator for Kubernetes picks the supported rollout strategy automatically.
  1. To upgrade NiFi, change spec.image.tag in the Nifi CR to the new image tag. If the image does not embed a version in its tag, you must also set spec.nifiVersion.
    If the image tag includes version info:
    apiVersion: cfm.cloudera.com/v1alpha1
    kind: Nifi
    metadata:
      name: my-nifi
    spec:
      image:
        tag: "[***CHANGE THIS VALUE***]"
    
    If the image tag does not include version info:
    apiVersion: cfm.cloudera.com/v1alpha1
    kind: Nifi
    metadata:
      name: my-nifi
    spec:
      nifiVersion: "[***PROVIDE THIS VALUE***]"
    image:
        tag: "latest"
  2. Track progress by watching ClusterReadyCondition on the CR status — it goes False during the rollout and back to True once all pods are ready.