From 2326773ee1c47ae56667063b3a05c3cd14448c04 Mon Sep 17 00:00:00 2001 From: Sergiusz Urbaniak Date: Fri, 31 Jul 2020 09:53:11 +0200 Subject: [PATCH 1/3] jsonnet/kube-prometheus: pin depdencies --- jsonnet/kube-prometheus/jsonnetfile.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jsonnet/kube-prometheus/jsonnetfile.json b/jsonnet/kube-prometheus/jsonnetfile.json index 50005ea2..8e4f2e0c 100644 --- a/jsonnet/kube-prometheus/jsonnetfile.json +++ b/jsonnet/kube-prometheus/jsonnetfile.json @@ -8,7 +8,7 @@ "subdir": "grafana" } }, - "version": "master" + "version": "release-0.1" }, { "source": { @@ -54,7 +54,7 @@ "subdir": "jsonnet/kube-state-metrics" } }, - "version": "master" + "version": "release-1.9" }, { "source": { @@ -63,7 +63,7 @@ "subdir": "jsonnet/kube-state-metrics-mixin" } }, - "version": "master" + "version": "release-1.9" }, { "source": { @@ -81,7 +81,7 @@ "subdir": "documentation/prometheus-mixin" } }, - "version": "master", + "version": "release-2.20", "name": "prometheus" } ], From 685a85e3e03c02f61d364e1fba26475dadefd676 Mon Sep 17 00:00:00 2001 From: Sergiusz Urbaniak Date: Fri, 31 Jul 2020 09:54:14 +0200 Subject: [PATCH 2/3] jb update, manifests: generate --- jsonnetfile.lock.json | 50 +++++++++---------- manifests/kube-state-metrics-clusterRole.yaml | 9 +--- ...kube-state-metrics-clusterRoleBinding.yaml | 2 +- manifests/kube-state-metrics-deployment.yaml | 6 +-- manifests/kube-state-metrics-service.yaml | 2 +- .../kube-state-metrics-serviceAccount.yaml | 2 +- manifests/prometheus-rules.yaml | 30 +++++++++-- 7 files changed, 56 insertions(+), 45 deletions(-) diff --git a/jsonnetfile.lock.json b/jsonnetfile.lock.json index 404f44dc..a5a6cfe1 100644 --- a/jsonnetfile.lock.json +++ b/jsonnetfile.lock.json @@ -4,7 +4,7 @@ { "source": { "git": { - "remote": "https://github.com/brancz/kubernetes-grafana.git", + "remote": "https://github.com/brancz/kubernetes-grafana", "subdir": "grafana" } }, @@ -14,17 +14,17 @@ { "source": { "git": { - "remote": "https://github.com/coreos/etcd.git", + "remote": "https://github.com/coreos/etcd", "subdir": "Documentation/etcd-mixin" } }, - "version": "d0e4fe56a5dbe0dddfe7caf0449ac9080f3043d4", - "sum": "5FmNgO4EumOVW5gIG41hb8JNYRC3S0dDfOTe+KD/sWY=" + "version": "cc564110bddeadc1d806ef0698745be702cb17ea", + "sum": "Uv8ysXlEACF7BafoCkHnrBmJ2AHh/VldI5mm3BuMiy0=" }, { "source": { "git": { - "remote": "https://github.com/coreos/prometheus-operator.git", + "remote": "https://github.com/coreos/prometheus-operator", "subdir": "jsonnet/prometheus-operator" } }, @@ -34,27 +34,27 @@ { "source": { "git": { - "remote": "https://github.com/grafana/grafonnet-lib.git", + "remote": "https://github.com/grafana/grafonnet-lib", "subdir": "grafonnet" } }, - "version": "5c6e8a8113486cdecd0961730aeaada3e6c69fe7", - "sum": "tDuuSKE9f4Ew2bjBM33Rs6behLEAzkmKkShSt+jpAak=" + "version": "3336c69715f8f7a4d637582504c9fabd9d9ca081", + "sum": "w6zS28Rjs9EzRN/WoLLIdi028BvumxDTyLefYVoql2k=" }, { "source": { "git": { - "remote": "https://github.com/grafana/jsonnet-libs.git", + "remote": "https://github.com/grafana/jsonnet-libs", "subdir": "grafana-builder" } }, - "version": "f20b163eb12c1a4070c03cd30f292fbf900acf33", + "version": "08a81efce8314b3954665d3616d3ad9e545fa6ff", "sum": "N65Fv0M2JvFE3GN8ZxP5xh1U5a314ey8geLAioJLzF8=" }, { "source": { "git": { - "remote": "https://github.com/ksonnet/ksonnet-lib.git", + "remote": "https://github.com/ksonnet/ksonnet-lib", "subdir": "" } }, @@ -65,47 +65,47 @@ { "source": { "git": { - "remote": "https://github.com/kubernetes-monitoring/kubernetes-mixin.git", + "remote": "https://github.com/kubernetes-monitoring/kubernetes-mixin", "subdir": "" } }, - "version": "9d2c182e5f24755b38655eb18f9273f62497a8a0", - "sum": "F1ryMe+ASjHt3QnL58cgo727DqHwvrO6zM7k9r58O2w=" + "version": "dc563cbb03da396d23bc49f33d4f7ae28db514a4", + "sum": "ZBRziwnNo3LPC4XhIjpWahz+gT+w3i2+klIcHx2r7d0=" }, { "source": { "git": { - "remote": "https://github.com/kubernetes-monitoring/kubernetes-mixin.git", + "remote": "https://github.com/kubernetes-monitoring/kubernetes-mixin", "subdir": "lib/promgrafonnet" } }, - "version": "9d2c182e5f24755b38655eb18f9273f62497a8a0", + "version": "dc563cbb03da396d23bc49f33d4f7ae28db514a4", "sum": "VhgBM39yv0f4bKv8VfGg4FXkg573evGDRalip9ypKbc=" }, { "source": { "git": { - "remote": "https://github.com/kubernetes/kube-state-metrics.git", + "remote": "https://github.com/kubernetes/kube-state-metrics", "subdir": "jsonnet/kube-state-metrics" } }, - "version": "63228560668e50bf05344c24b15c66269c948e38", - "sum": "cJjGZaLBjcIGrLHZLjRPU9c3KL+ep9rZTb9dbALSKqA=" + "version": "eef2b125b5f09d0cc5245c0db897a27c9b74ca9b", + "sum": "zD/pbQLnQq+5hegEelaheHS8mn1h09GTktFO74iwlBI=" }, { "source": { "git": { - "remote": "https://github.com/kubernetes/kube-state-metrics.git", + "remote": "https://github.com/kubernetes/kube-state-metrics", "subdir": "jsonnet/kube-state-metrics-mixin" } }, - "version": "63228560668e50bf05344c24b15c66269c948e38", - "sum": "o5avaguRsfFwYFNen00ZEsub1x4i8Z/ZZ2QoEjFMff8=" + "version": "eef2b125b5f09d0cc5245c0db897a27c9b74ca9b", + "sum": "E1GGavnf9PCWBm4WVrxWnc0FIj72UcbcweqGioWrOdU=" }, { "source": { "git": { - "remote": "https://github.com/prometheus/node_exporter.git", + "remote": "https://github.com/prometheus/node_exporter", "subdir": "docs/node-mixin" } }, @@ -115,11 +115,11 @@ { "source": { "git": { - "remote": "https://github.com/prometheus/prometheus.git", + "remote": "https://github.com/prometheus/prometheus", "subdir": "documentation/prometheus-mixin" } }, - "version": "9801f52b0a21a22dea6071772a2980eca5368b28", + "version": "e5a06b483527d4fe0704b8fa3a2b475b661c526f", "sum": "TBq4SL7YsPInARbJqwz25JaBvvAegcnRCsuz3K9niWc=", "name": "prometheus" }, diff --git a/manifests/kube-state-metrics-clusterRole.yaml b/manifests/kube-state-metrics-clusterRole.yaml index a365fee7..05fcdbc5 100644 --- a/manifests/kube-state-metrics-clusterRole.yaml +++ b/manifests/kube-state-metrics-clusterRole.yaml @@ -3,7 +3,7 @@ kind: ClusterRole metadata: labels: app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 1.9.5 + app.kubernetes.io/version: v1.9.5 name: kube-state-metrics rules: - apiGroups: @@ -108,10 +108,3 @@ rules: verbs: - list - watch -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - list - - watch diff --git a/manifests/kube-state-metrics-clusterRoleBinding.yaml b/manifests/kube-state-metrics-clusterRoleBinding.yaml index ddf6bc6b..3de08c71 100644 --- a/manifests/kube-state-metrics-clusterRoleBinding.yaml +++ b/manifests/kube-state-metrics-clusterRoleBinding.yaml @@ -3,7 +3,7 @@ kind: ClusterRoleBinding metadata: labels: app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 1.9.5 + app.kubernetes.io/version: v1.9.5 name: kube-state-metrics roleRef: apiGroup: rbac.authorization.k8s.io diff --git a/manifests/kube-state-metrics-deployment.yaml b/manifests/kube-state-metrics-deployment.yaml index eb8bcd4f..970f9872 100644 --- a/manifests/kube-state-metrics-deployment.yaml +++ b/manifests/kube-state-metrics-deployment.yaml @@ -3,7 +3,7 @@ kind: Deployment metadata: labels: app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 1.9.5 + app.kubernetes.io/version: v1.9.5 name: kube-state-metrics namespace: monitoring spec: @@ -15,7 +15,7 @@ spec: metadata: labels: app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 1.9.5 + app.kubernetes.io/version: v1.9.5 spec: containers: - args: @@ -25,8 +25,6 @@ spec: - --telemetry-port=8082 image: quay.io/coreos/kube-state-metrics:v1.9.5 name: kube-state-metrics - securityContext: - runAsUser: 65534 - args: - --logtostderr - --secure-listen-address=:8443 diff --git a/manifests/kube-state-metrics-service.yaml b/manifests/kube-state-metrics-service.yaml index 59881ce5..fb1cc269 100644 --- a/manifests/kube-state-metrics-service.yaml +++ b/manifests/kube-state-metrics-service.yaml @@ -3,7 +3,7 @@ kind: Service metadata: labels: app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 1.9.5 + app.kubernetes.io/version: v1.9.5 name: kube-state-metrics namespace: monitoring spec: diff --git a/manifests/kube-state-metrics-serviceAccount.yaml b/manifests/kube-state-metrics-serviceAccount.yaml index 5dd13bb8..25a8bae3 100644 --- a/manifests/kube-state-metrics-serviceAccount.yaml +++ b/manifests/kube-state-metrics-serviceAccount.yaml @@ -3,6 +3,6 @@ kind: ServiceAccount metadata: labels: app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 1.9.5 + app.kubernetes.io/version: v1.9.5 name: kube-state-metrics namespace: monitoring diff --git a/manifests/prometheus-rules.yaml b/manifests/prometheus-rules.yaml index f4acd852..185c56d1 100644 --- a/manifests/prometheus-rules.yaml +++ b/manifests/prometheus-rules.yaml @@ -1138,13 +1138,33 @@ spec: severity: warning - alert: KubeDaemonSetRolloutStuck annotations: - message: Only {{ $value | humanizePercentage }} of the desired Pods of DaemonSet - {{ $labels.namespace }}/{{ $labels.daemonset }} are scheduled and ready. + message: DaemonSet {{ $labels.namespace }}/{{ $labels.daemonset }} has not + finished or progressed for at least 15 minutes. runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubedaemonsetrolloutstuck expr: | - kube_daemonset_status_number_ready{job="kube-state-metrics"} - / - kube_daemonset_status_desired_number_scheduled{job="kube-state-metrics"} < 1.00 + ( + ( + kube_daemonset_status_current_number_scheduled{job="kube-state-metrics"} + != + kube_daemonset_status_desired_number_scheduled{job="kube-state-metrics"} + ) or ( + kube_daemonset_status_number_misscheduled{job="kube-state-metrics"} + != + 0 + ) or ( + kube_daemonset_updated_number_scheduled{job="kube-state-metrics"} + != + kube_daemonset_status_desired_number_scheduled{job="kube-state-metrics"} + ) or ( + kube_daemonset_status_number_available{job="kube-state-metrics"} + != + kube_daemonset_status_desired_number_scheduled{job="kube-state-metrics"} + ) + ) and ( + changes(kube_daemonset_updated_number_scheduled{job="kube-state-metrics"}[5m]) + == + 0 + ) for: 15m labels: severity: warning From 2932a74170da1a9219ad909c660f5bae9a72319e Mon Sep 17 00:00:00 2001 From: Sergiusz Urbaniak Date: Fri, 31 Jul 2020 09:58:54 +0200 Subject: [PATCH 3/3] README: update compatibility matrix --- README.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index f07d067a..1fe86e83 100644 --- a/README.md +++ b/README.md @@ -91,12 +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.14 | Kubernetes 1.15 | Kubernetes 1.16 | Kubernetes 1.17 | Kubernetes 1.18 | -|-----------------------|-----------------|-----------------|-----------------|-----------------|-----------------| -| `release-0.3` | ✔ | ✔ | ✔ | ✔ | ✗ -| `release-0.4` | ✗ | ✗ | ✔ (v1.16.5+) | ✔ | ✗ -| `release-0.5` | ✗ | ✗ | ✗ | ✗ | ✔ -| `HEAD` | ✗ | ✗ | ✗ | ✗ | ✔ +| kube-prometheus stack | Kubernetes 1.14 | Kubernetes 1.15 | Kubernetes 1.16 | Kubernetes 1.17 | Kubernetes 1.18 | Kubernetes 1.19 | +|-----------------------|-----------------|-----------------|-----------------|-----------------|-----------------|-----------------| +| `release-0.3` | ✔ | ✔ | ✔ | ✔ | ✗ | ✗ | +| `release-0.4` | ✗ | ✗ | ✔ (v1.16.5+) | ✔ | ✗ | ✗ | +| `release-0.5` | ✗ | ✗ | ✗ | ✗ | ✔ | ✗ | +| `release-0.6` | ✗ | ✗ | ✗ | ✗ | ✔ | ✗ | +| `HEAD` | ✗ | ✗ | ✗ | ✗ | ✔ | ✗ | Note: Due to [two](https://github.com/kubernetes/kubernetes/issues/83778) [bugs](https://github.com/kubernetes/kubernetes/issues/86359) in Kubernetes v1.16.1, and prior to Kubernetes v1.16.5 the kube-prometheus release-0.4 branch only supports v1.16.5 and higher. The `extension-apiserver-authentication-reader` role in the kube-system namespace can be manually edited to include list and watch permissions in order to workaround the second issue with Kubernetes v1.16.2 through v1.16.4.