Upgrading Humio Operator on Kubernetes

How you upgrade Humio Operator depends on how it was installed:

  1. It was installed using Helm with the --skip-crds option specified, so CRDs are independently managed. This is the recommended approach. See Independently-Managed CRDs for details of the upgrade process.

  2. It was installed without specifying the --skip-crds option, so CRDs are managed by Helm. This approach is not recommended, as if you uninstall the Helm chart, you uninstall the CRDs as well. See Helm-Managed CRDs for details of the upgrade process.

To determine if your Humio Operator CRDs are managed by Helm or not, use the following command:

shell
kubectl get crds -l app.kubernetes.io/managed-by=Helm | grep core.humio.com

If nothing is displayed then your CRDs are independently managed. Otherwise, a list of Humio Operator CRDs managed by Helm is displayed.

If you currently have Helm-managed CRDs, and you would like to migrate to independently managed CRDs, then see Migrating from Helm-Managed CRDs.

Helm Version Compatibility Matrix

There are some important differences between Helm versions that you should be aware of:

Helm Version Compatibility
2.x No automatic CRD upgrade capability, manual management required
3.0-3.6 Limited CRD upgrade options
3.7+ --upgrade-crds flag available but still not recommended
Flux HelmRelease Version-specific CRD management options (crds: CreateReplace)

Best Practice

For best practice always review the upgrade guide and changelog before upgrading to understand potential breaking changes and new requirements. In addition before carrying out procedures in this section:

  • Perform changes during a maintenance window

  • Have rollback plan ready

  • Test in non-production first

  • Always backup before deleting CRDs

  • Manage CRDs separately from Helm

  • Document CRD versions in use

  • Follow sequential upgrade path

The following information box provides the main points of reference when upgrading:

Independently-Managed CRDs

This section describes upgrading if you are using independently-managed CRDs.

Helm-Managed CRDs

This section describes upgrading if you are using Helm-managed CRDs.

Migrating from Helm-Managed CRDs

This section describes how to migrate from using Helm-managed CRDs to independently-managed CRDs.

Troubleshooting

This section describes how to troubleshoot failed upgrades.