Repository navigation
Bump kube-prometheus-stack to 92.10.0 and Thanos to v0.42.4 - #5174
riadelhajjaji-scality wants to merge 5 commits into
Conversation
Bump the kube-prometheus-stack chart from 86.3.1 to 92.10.0 and Thanos to v0.42.4. The bitnami thanos chart stays at 17.3.1, it has no newer release. Images bumped accordingly: - prometheus-operator: v0.91.0 -> v0.94.1 - prometheus-config-reloader: v0.91.0 -> v0.94.1 - prometheus: v3.12.0-distroless -> v3.15.0-distroless - alertmanager: v0.33.0 -> v0.34.1 - grafana: 13.0.2 -> 13.2.4-distroless - k8s-sidecar: 2.7.3 -> 2.14.1 - kube-state-metrics: v2.19.1 -> v2.20.0 - node-exporter: v1.11.1-distroless -> v1.12.1-distroless - thanos: v0.41.0 -> v0.42.4 The k8s-sidecar pin of the Loki chart follows, as BUMPING.md asks. Breaking changes that impact MetalK8s: - Grafana chart 14 validates values against a schema, and rejects the string `__var__` placeholder we used for `grafana.replicas`. Set it with a `--patch` in the codegen task instead, as done for Loki. - Chart 90 moves the control-plane ServiceMonitors from token and CA files to a `prometheus-operator-prometheus-token` Secret and the `kube-root-ca.crt` ConfigMap. Salt replaces objects on every apply, which would wipe the token filled in by the token controller, so `replace_object` now keeps the data of service account token Secrets. - Chart 90 removes `serviceMonitor.insecureSkipVerify`, now a default, for the scheduler and controller-manager. Drop our overrides, the rendered ServiceMonitors do not change. - Grafana chart 13 runs Grafana from the distroless image with a read-only root filesystem. We set no `GF_*__FILE` or plugin env var, logs go to the console and every write path is an emptyDir. Other changes reviewed, no action needed: - Chart 92 adds `kubernetes.io/os: linux` to the nodeSelector of the operator, Prometheus and Alertmanager; pods restart once on upgrade. - Chart 91 tightens the operator RBAC. - Operator 0.93 keeps compaction when the Thanos sidecar uploads to object storage; we do not upload, `objectStorageConfig` is empty. - Alertmanager 0.34 splits `authError` and `rateLimited` out of `reason="clientError"`; no rule or dashboard of ours matches on it. - kube-state-metrics 2.20 only emits `kube_pod_status_reason` for the reason that is set; our rule compares `== 1`, unaffected. - Thanos 0.42 breaking changes only touch Receive and Store flags. - k8s-sidecar 2.9 moves from CMD to ENTRYPOINT; we override no sidecar command. Ref: MK8S-349
Hello riadelhajjaji-scality,My role is to assist you with the merge of this Available options
Available commands
Status report is not available. |
Foreign commits detected in source branchThe source branch
This typically happens when the feature branch was accidentally based on
How to fix Create a new branch directly from Then open a new pull request from that branch. If this is a false positive If your branch is a legitimate backport and was previously merged into one |
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
Peer approvals must include at least 1 approval from the following list: |
|
|
/changie Enhanced Bump kube-prometheus-stack chart version to 92.10.0 |
…s://github.com/prometheus-community/helm-charts/releases/tag/kube-prometheus-stack-92.10.0) Auto-generated-by: changie-add-changelog
kube-prometheus-stack 92.10.0 adds the AlertmanagerClusterFailedPeers alert and the "Kubernetes / Compute Resources / Nodes Overview" dashboard, and changes the KubePdbNotEnoughHealthyPods and KubePodNotReady queries. Update the expected alert rules from the CI alert_rules artifact, and add the new dashboard to the expected dashboard UIDs. Ref: MK8S-349
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
Peer approvals must include at least 1 approval from the following list: |
|
LGTM |
Document in BUMPING.md that the Thanos image tag is pinned in charts/thanos.yaml and that the expected Grafana dashboards must follow the chart. Ref: MK8S-349
Since chart 90, the control-plane ServiceMonitors authenticate with the non-expiring prometheus-operator-prometheus-token Secret. The etcd, kube-proxy and CoreDNS metrics endpoints are scraped over plain HTTP and do not check the token, so sending it there only exposes it to anyone sniffing node traffic. Set their `authorization` to null. Ref: MK8S-349
|
✅ Changelog check passed. |
|
LGTM |
Component: charts, salt, buildchain
Context:
Regular dependency bump of the monitoring stack. kube-prometheus-stack
moves from 86.3.1 to 92.10.0 (six major versions) and Thanos from
v0.41.0 to v0.42.4. The bitnami thanos chart has no newer release than
17.3.1.
Summary:
prometheus-operator/config-reloader v0.94.1, prometheus
v3.15.0-distroless, alertmanager v0.34.1, grafana 13.2.4-distroless,
k8s-sidecar 2.14.1, kube-state-metrics v2.20.0, node-exporter
v1.12.1-distroless
replicaswith a codegen--patch(same as Loki)prometheus-operator-prometheus-tokenSecret:replace_objectkeepsthe data of service account token Secrets, so a highstate no longer
wipes the token filled in by the token controller
insecureSkipVerifyoverrides removed by chart 90 (norendered change)
Acceptance criteria:
scheduler, controller-manager and kube-proxy
prometheus-operator-prometheus-tokenhas itsdatafilled in, anda second highstate does not change the token
tools/rule_extractor/*.jsonupdated from the CIalert_rulesartifactCloses: #MK8S-349