Troubleshooting Common Kubernetes Issues

Last updated on 19 May, 2023

Multiple Operation Updates get Generated for Annotations and Labels

Cause

If an annotation or label updates on a Kubernetes resource frequently (every 1 minute), then multiple operation updates occur despite no considerable changes.

Resolution

Add annotations.ignore and labels.ignore fields with variables (displayed in the following table) under argus.monitoring section to ignore unnecessary updates of annotations or labels using Helm. For more information on syntax, see the Govaluate expressions manual

Value Variable Name Value Datatype Comments
type Resource Type String The operators “==”, “!=”, “in” work on the type variable.
Note: The “in” operator on the type variable doesn’t work when the array has only one element.
name Resource Name String Not applicable
namespace or ns Resource Namespace String Displays empty for resources that are not namespace scoped.
key Annotations or Label Name String Name of the annotations or label based on which section it is used in.
value Annotations or Label Name String Name of the annotations or label based on which section it is used in.

The following is an example of the annotation.ignore and label.ignore fields added in the configuration file:

argus:
  monitoring:
    annotations:
      ignore:
        - 'key == "t1" && type == "pod"'
        - 'key in ("virtual-kubelet.io/last-applied-node-status", "control-plane.alpha.kubernetes.io/leader")'
        - 'key =~ "control-plane."'
        - '"control-plane.alpha.kubernetes.io/leader" =~ "lead"'
        - 'value =~ "renewTime"'
        - 'key =~ "control-plane." && type == "endpoint"'
        - 'key == "control-plane.alpha.kubernetes.io/leader" && type == "endpoint" && ns == "kube-system"'
argus:
  monitoring:
    labels:
      ignore:
        - 'value =~ "renewTime" && type == "endpoint" && ns == "logicmonitor"'
        - 'key == "l1" && type == "endpoint" && ns == "logicmonitor"'
In This Article