From f81412d05dd5154d01dda8a2f6b260ce1b2f987a Mon Sep 17 00:00:00 2001
From: paulfantom <pawel@krupa.net.pl>
Date: Wed, 7 Apr 2021 12:15:28 +0200
Subject: [PATCH] jsonnet/kube-prometheus/addons: reduce KSM cardinality by
 denylisting unused metrics

Signed-off-by: paulfantom <pawel@krupa.net.pl>
---
 .../kube-prometheus/addons/ksm-lite.libsonnet | 39 +++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 jsonnet/kube-prometheus/addons/ksm-lite.libsonnet

diff --git a/jsonnet/kube-prometheus/addons/ksm-lite.libsonnet b/jsonnet/kube-prometheus/addons/ksm-lite.libsonnet
new file mode 100644
index 00000000..18791e1e
--- /dev/null
+++ b/jsonnet/kube-prometheus/addons/ksm-lite.libsonnet
@@ -0,0 +1,39 @@
+local addArgs(args, name, containers) = std.map(
+  function(c) if c.name == name then
+    c {
+      args+: args,
+    }
+  else c,
+  containers,
+);
+
+{
+  kubeStateMetrics+: {
+    deployment+: {
+      spec+: {
+        template+: {
+          spec+: {
+            containers: addArgs(
+              [|||
+                --metric-denylist=
+                kube_*_created,
+                kube_*_metadata_resource_version,
+                kube_replicaset_metadata_generation,
+                kube_replicaset_status_observed_generation,
+                kube_pod_restart_policy,
+                kube_pod_init_container_status_terminated,
+                kube_pod_init_container_status_running,
+                kube_pod_container_status_terminated,
+                kube_pod_container_status_running,
+                kube_pod_completion_time,
+                kube_pod_status_scheduled
+              |||],
+              'kube-state-metrics',
+              super.containers
+            ),
+          },
+        },
+      },
+    },
+  },
+}
-- 
GitLab