From d5802ffe2d207485da614f76e47aa4bf328ad84e Mon Sep 17 00:00:00 2001 From: Philip Gough Date: Thu, 16 Dec 2021 12:33:21 +0000 Subject: [PATCH 1/3] ci: Bump k8s version and update compatability matrix --- .github/workflows/ci.yaml | 4 ++-- README.md | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 0823d2d8..1656e7b6 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -63,8 +63,8 @@ jobs: strategy: matrix: kind-image: - - 'kindest/node:v1.21.1' - - 'kindest/node:v1.22.0' + - 'kindest/node:v1.23.0' + - 'kindest/node:v1.22.4' steps: - uses: actions/checkout@v2 with: diff --git a/README.md b/README.md index 13bf2c8d..e83f7e1d 100644 --- a/README.md +++ b/README.md @@ -91,13 +91,13 @@ $ minikube addons disable metrics-server The following versions are supported and work as we test against these versions in their respective branches. But note that other versions might work! -| kube-prometheus stack | Kubernetes 1.18 | Kubernetes 1.19 | Kubernetes 1.20 | Kubernetes 1.21 | Kubernetes 1.22 | -|------------------------------------------------------------------------------------------|-----------------|-----------------|-----------------|-----------------|-----------------| -| [`release-0.6`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.6) | ✗ | ✔ | ✗ | ✗ | ✗ | -| [`release-0.7`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.7) | ✗ | ✔ | ✔ | ✗ | ✗ | -| [`release-0.8`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.8) | ✗ | ✗ | ✔ | ✔ | ✗ | -| [`release-0.9`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.9) | ✗ | ✗ | ✗ | ✔ | ✔ | -| [`main`](https://github.com/prometheus-operator/kube-prometheus/tree/main) | ✗ | ✗ | ✗ | ✔ | ✔ | +| kube-prometheus stack | Kubernetes 1.18 | Kubernetes 1.19 | Kubernetes 1.20 | Kubernetes 1.21 | Kubernetes 1.22 | Kubernetes 1.23 | +|--------------------------------------------------------------------------------------------|-----------------|-----------------|-----------------|-----------------|-----------------|-----------------| +| [`release-0.6`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.6) | ✗ | ✔ | ✗ | ✗ | ✗ | ✗ | +| [`release-0.7`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.7) | ✗ | ✔ | ✔ | ✗ | ✗ | ✗ | +| [`release-0.8`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.8) | ✗ | ✗ | ✔ | ✔ | ✗ | ✗ | +| [`release-0.9`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.9) | ✗ | ✗ | ✗ | ✔ | ✔ | ✗ | +| [`main`](https://github.com/prometheus-operator/kube-prometheus/tree/main) | ✗ | ✗ | ✗ | ✗ | ✔ | ✔ | ## Quickstart From 1263e1cba303ad957ec6f938330f5ed745c98037 Mon Sep 17 00:00:00 2001 From: Philip Gough Date: Thu, 16 Dec 2021 15:02:47 +0000 Subject: [PATCH 2/3] jsonnet: Drop deprecated apiserver_longrunning_gauge and apiserver_registered_watchers metrics Drop deprecated metric to fix failing test. Dropped via https://github.com/kubernetes/kubernetes/pull/103793 --- .../addons/dropping-deprecated-metrics-relabelings.libsonnet | 2 +- manifests/kubernetesControlPlane-serviceMonitorApiserver.yaml | 2 +- ...ernetesControlPlane-serviceMonitorKubeControllerManager.yaml | 2 +- manifests/kubernetesControlPlane-serviceMonitorKubelet.yaml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/jsonnet/kube-prometheus/addons/dropping-deprecated-metrics-relabelings.libsonnet b/jsonnet/kube-prometheus/addons/dropping-deprecated-metrics-relabelings.libsonnet index 374b8601..06051f18 100644 --- a/jsonnet/kube-prometheus/addons/dropping-deprecated-metrics-relabelings.libsonnet +++ b/jsonnet/kube-prometheus/addons/dropping-deprecated-metrics-relabelings.libsonnet @@ -14,7 +14,7 @@ // Drop all apiserver metrics which are deprecated in kubernetes. { sourceLabels: ['__name__'], - regex: 'apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs)', + regex: 'apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs|longrunning_gauge|registered_watchers)', action: 'drop', }, // Drop all docker metrics which are deprecated in kubernetes. diff --git a/manifests/kubernetesControlPlane-serviceMonitorApiserver.yaml b/manifests/kubernetesControlPlane-serviceMonitorApiserver.yaml index dc326c0b..95f4e338 100644 --- a/manifests/kubernetesControlPlane-serviceMonitorApiserver.yaml +++ b/manifests/kubernetesControlPlane-serviceMonitorApiserver.yaml @@ -20,7 +20,7 @@ spec: sourceLabels: - __name__ - action: drop - regex: apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs) + regex: apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs|longrunning_gauge|registered_watchers) sourceLabels: - __name__ - action: drop diff --git a/manifests/kubernetesControlPlane-serviceMonitorKubeControllerManager.yaml b/manifests/kubernetesControlPlane-serviceMonitorKubeControllerManager.yaml index d131de68..efd7135f 100644 --- a/manifests/kubernetesControlPlane-serviceMonitorKubeControllerManager.yaml +++ b/manifests/kubernetesControlPlane-serviceMonitorKubeControllerManager.yaml @@ -20,7 +20,7 @@ spec: sourceLabels: - __name__ - action: drop - regex: apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs) + regex: apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs|longrunning_gauge|registered_watchers) sourceLabels: - __name__ - action: drop diff --git a/manifests/kubernetesControlPlane-serviceMonitorKubelet.yaml b/manifests/kubernetesControlPlane-serviceMonitorKubelet.yaml index ea4adadf..92b3d13d 100644 --- a/manifests/kubernetesControlPlane-serviceMonitorKubelet.yaml +++ b/manifests/kubernetesControlPlane-serviceMonitorKubelet.yaml @@ -21,7 +21,7 @@ spec: sourceLabels: - __name__ - action: drop - regex: apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs) + regex: apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs|longrunning_gauge|registered_watchers) sourceLabels: - __name__ - action: drop From 16bc5d63b3b6a6cf1935068f45c05d6e9fadf3d5 Mon Sep 17 00:00:00 2001 From: Philip Gough Date: Thu, 16 Dec 2021 16:54:18 +0000 Subject: [PATCH 3/3] jsonnet: Drop deprecated coredns_cache_misses_total Deprecated via https://github.com/coredns/coredns/pull/4781 --- README.md | 14 ++++++------- .../components/k8s-control-plane.libsonnet | 21 ++++++++++++++----- ...tesControlPlane-serviceMonitorCoreDNS.yaml | 5 +++++ 3 files changed, 28 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index e83f7e1d..9acf1c0a 100644 --- a/README.md +++ b/README.md @@ -91,13 +91,13 @@ $ minikube addons disable metrics-server The following versions are supported and work as we test against these versions in their respective branches. But note that other versions might work! -| kube-prometheus stack | Kubernetes 1.18 | Kubernetes 1.19 | Kubernetes 1.20 | Kubernetes 1.21 | Kubernetes 1.22 | Kubernetes 1.23 | -|--------------------------------------------------------------------------------------------|-----------------|-----------------|-----------------|-----------------|-----------------|-----------------| -| [`release-0.6`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.6) | ✗ | ✔ | ✗ | ✗ | ✗ | ✗ | -| [`release-0.7`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.7) | ✗ | ✔ | ✔ | ✗ | ✗ | ✗ | -| [`release-0.8`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.8) | ✗ | ✗ | ✔ | ✔ | ✗ | ✗ | -| [`release-0.9`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.9) | ✗ | ✗ | ✗ | ✔ | ✔ | ✗ | -| [`main`](https://github.com/prometheus-operator/kube-prometheus/tree/main) | ✗ | ✗ | ✗ | ✗ | ✔ | ✔ | +| kube-prometheus stack | Kubernetes 1.18 | Kubernetes 1.19 | Kubernetes 1.20 | Kubernetes 1.21 | Kubernetes 1.22 | Kubernetes 1.23 | +|------------------------------------------------------------------------------------------|-----------------|-----------------|-----------------|-----------------|-----------------|-----------------| +| [`release-0.6`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.6) | ✗ | ✔ | ✗ | ✗ | ✗ | ✗ | +| [`release-0.7`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.7) | ✗ | ✔ | ✔ | ✗ | ✗ | ✗ | +| [`release-0.8`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.8) | ✗ | ✗ | ✔ | ✔ | ✗ | ✗ | +| [`release-0.9`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.9) | ✗ | ✗ | ✗ | ✔ | ✔ | ✗ | +| [`main`](https://github.com/prometheus-operator/kube-prometheus/tree/main) | ✗ | ✗ | ✗ | ✗ | ✔ | ✔ | ## Quickstart diff --git a/jsonnet/kube-prometheus/components/k8s-control-plane.libsonnet b/jsonnet/kube-prometheus/components/k8s-control-plane.libsonnet index 84a1ffa4..d2aab5a5 100644 --- a/jsonnet/kube-prometheus/components/k8s-control-plane.libsonnet +++ b/jsonnet/kube-prometheus/components/k8s-control-plane.libsonnet @@ -310,11 +310,22 @@ function(params) { namespaceSelector: { matchNames: ['kube-system'], }, - endpoints: [{ - port: 'metrics', - interval: '15s', - bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token', - }], + endpoints: [ + { + port: 'metrics', + interval: '15s', + bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token', + metricRelabelings: [ + // Drop deprecated metrics + // TODO (pgough) - consolidate how we drop metrics across the project + { + sourceLabels: ['__name__'], + regex: 'coredns_cache_misses_total', + action: 'drop', + }, + ], + }, + ], }, }, diff --git a/manifests/kubernetesControlPlane-serviceMonitorCoreDNS.yaml b/manifests/kubernetesControlPlane-serviceMonitorCoreDNS.yaml index e79c5b7d..f3313d6d 100644 --- a/manifests/kubernetesControlPlane-serviceMonitorCoreDNS.yaml +++ b/manifests/kubernetesControlPlane-serviceMonitorCoreDNS.yaml @@ -10,6 +10,11 @@ spec: endpoints: - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token interval: 15s + metricRelabelings: + - action: drop + regex: coredns_cache_misses_total + sourceLabels: + - __name__ port: metrics jobLabel: app.kubernetes.io/name namespaceSelector: