k8s 1.22 环境 kube-prometheus-stack 22.x 升级至 41.x

更新helm repo,下载最新chart

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm pull prometheus-community/kube-prometheus-stack

同步所需镜像到仓库

参考

使用image-syncer同步所需镜像到仓库

同步下面镜像到

# kube-prometheus-stack
# https://github.com/prometheus-community/helm-charts/blob/main/charts/kube-prometheus-stack/values.yaml
k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v1.3.0
quay.io/prometheus-operator/prometheus-operator:v0.60.1
quay.io/prometheus/alertmanager:v0.24.0
quay.io/prometheus/prometheus:v2.39.1
quay.io/prometheus-operator/prometheus-config-reloader:v0.60.1
# kube-state-metrics
# https://github.com/prometheus-community/helm-charts/blob/main/charts/kube-state-metrics/values.yaml
registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.6.0
# prometheus-node-exporter
# https://github.com/prometheus-community/helm-charts/blob/main/charts/prometheus-node-exporter/values.yaml
quay.io/prometheus/node-exporter:v1.4.0
# https://github.com/grafana/helm-charts/blob/main/charts/grafana/values.yaml
grafana/grafana:9.2.5
curlimages/curl:7.85.0
quay.io/kiwigrid/k8s-sidecar:1.19.2
busybox:1.31.1

编写 kube-prometheus-stack 41.x values

kube-prometheus-stack-values.yaml

升级之前先更新CRD

注:因为跨越的版本太多,增加在官方文档基础上添加了 --force-conflicts 参数

删除node-exporter

prometheus-node-exporter 从 4.0.0 版本开始,node exporter chart 使用 Kubernetes 推荐的标签。因此,必须在升级前删除 daemonset。

执行升级

故障处理

解决kube-controller-manager / kube-scheduler metrics 获取异常问题

修改 kugaadm config

内容参考如下

编辑 kubeadm-init.yaml, 内容如下

备份 /etc/kubernetes/

刷新 /etc/kubernetes/manifests/kube-controller-manager.yaml 及 /etc/kubernetes/manifests/kube-scheduler.yaml

kube-prometheus-stack-values.yaml 中添加下面配置

更新 helm

参考

https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack

https://github.com/ss75710541/operator-env/blob/main/prometheus-operator/%E4%BD%BF%E7%94%A8helm%E5%9C%A8k8s1.22.2%E4%B8%AD%E9%83%A8%E7%BD%B2kube-prometheus-stack-19.1.0.md

https://github.com/prometheus-community/helm-charts/blob/main/charts/kube-prometheus-stack/values.yaml

https://github.com/grafana/helm-charts/blob/main/charts/grafana/values.yaml

https://github.com/prometheus-operator/prometheus-operator/issues/3199

https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-reconfigure/

Last updated

Was this helpful?