Upgrading Kubernetes Monitoring Applications

Overview

LogicMonitor’s Kubernetes monitoring involves two semantically versioned applications: Argus and the Collectorset-Controller. New versions of these applications provide bug fixes, improvements, and new features. You can see the latest available versions of these applications (and the enhancements they provide) on their respective GitHub host pages.

Release Tagging

Argus images are tagged with semantic versioning in addition to a tag for the major version (for example, v5) which will match all images that get published with that major version (including minor improvement and bug fix increments). This ensures that new images with minor improvements and bug fixes are used automatically.

For example, for Argus version 5.0.0, the following tags are applied to the image: “v5” and “5.0.0”. If you reference “v5” in your Helm deployment at the time 5.0.0 is released, that tag would also match subsequent Argus versions 5.1.0, 5.1.1, and so on upon their release.

Opt-in is still required when a new major version is released. This means that if your Helm deployment for Argus and Collectorset-Controller currently references “latest” or hard-coded version image tags, you will need to opt into the upgrade using the instructions provided in the next section.

Opting In to Major Version Changes

Prerequisites

Ensure the following requirements are met before upgrading:

  • Helm 3
  • Kubernetes 1.14+

Upgrade Instructions

To upgrade the Argus chart from older versions to the latest version, you require an Argus configuration file for running the helm upgrade command.

Creating Argus configuration file

For creating .yaml configuration files for argus and collector-set controller, complete the following steps:

1. Download the configuration file template from here.

2. Get existing values using the command:

helm get values argus 

3. Save in the backup configuration file.

4. Put all existing values in the downloaded configuration file at their appropriate places. And leave the remaining values at their default.

Note: If you using Argus v6.0 or later, and the existing filtering configuration contains “ * ” for excluding all the resources from monitoring, you must remove “ * ” from the filtering configuration.

With Argus v6.0, a new parameter “disableResourceMonitoring” is added for excluding all the resources of a specific type.
You must specify the resourcetype in the disableResourceMonitoring parameter list, as follows:

disableResourceMonitoring:

- nodes

- services

- deployments

Upgrading the Argus using Helm deployment

For upgrading to the latest version of Argus, complete the following steps:

  1. Run helm repo update.
  2. To upgrade the Argus helm chart, run the following command:

    helm upgrade -f argus-config.yaml argus logicmonitor/argus

Note: You may need to recreate the Argus pod if the pods are not recreated automatically.
Helm does not recreate pods if there is no change in definitions.

Updating Configuration Parameters in the Configuration File

Export the configuration file path and enter the following helm command:

$ export ARGUS_CONF_FILE=<argus-configuration-file-path>
$ helm upgrade \
  --install \
  --debug \
  --wait \
  --namespace="$NAMESPACE" \
  -f "$ARGUS_CONF_FILE" \
  argus logicmonitor/argus

See the Configurations section for a list of values the Argus helm chart supports and their descriptions.

Configuration templates of Helm charts values.yaml

Collectorset Controller

Latest Collectorset-controller-config.yaml

Chart VersionCollectorset-controller VersionConfiguration
Chart 1.0.0Collectorset-controller 3.0.0collectorset-controller-config-1.0.0.yaml
Chart 0.11.0Collectorset-controller 2.2.0collectorset-controller-config-0.11.0.yaml
Chart 0.10.0Collectorset-controller 2.2.0collectorset-controller-config-0.10.0.yaml
Chart 0.9.0Collectorset-controller 2.2.0collectorset-controller-config-0.9.0.yaml
Chart 0.8.0Collectorset-controller 2.1.0collectorset-controller-config-0.8.0.yaml

Argus

Latest argus-config.yaml

Chart VersionArgus VersionConfiguration
Chart 2.0.0Argus 7.0.0argus-config-2.0.0.yaml
Chart 1.2.0Argus 6.1.2argus-config-1.2.0.yaml
Chart 1.1.0Argus 6.1.0argus-config-1.1.0.yaml
Chart 1.0.0Argus 6.0.0argus-config-1.0.0.yaml
Chart 0.18.0Argus 5.1.1argus-config-0.18.0.yaml
Chart 0.17.0Argus 5.1.0argus-config-0.17.0.yaml
Chart 0.16.1Argus 5.0.0argus-config-0.16.1.yaml
Chart 0.16.0Argus 5.0.0argus-config-0.16.0.yaml
Chart 0.15.0Argus 4.2.0argus-config-0.15.0.yaml
Chart 0.14.0Argus 4.1.0argus-config-0.14.0.yaml

Note: The helm chart version should match with the corresponding Argus and Collectorset controller versions.

For example, if you are upgrading Argus from v5.0.0 to v6.1.0, then the Helm chart version must be v1.1.0.

Similarly, if you are upgrading Collectorset controller v2.2.0 to v2.4.0, then the Helm chart version must be v0.12.0.

In This Article