Troubleshooting Common Kubernetes Issues
Last updated on 19 May, 2023Multiple 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"'