diff --git a/README.md b/README.md index f07d067a26..1fe86e8369 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. diff --git a/jsonnet/kube-prometheus/jsonnetfile.json b/jsonnet/kube-prometheus/jsonnetfile.json index 50005ea29f..8e4f2e0cda 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" } ], diff --git a/jsonnetfile.lock.json b/jsonnetfile.lock.json index 404f44dc5f..a5a6cfe1f5 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 a365fee73c..05fcdbc589 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 ddf6bc6ba9..3de08c712e 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 eb8bcd4f52..970f9872ea 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 59881ce5a7..fb1cc26932 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 5dd13bb874..25a8bae338 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 f4acd852d7..185c56d143 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