更新时间:2024-11-12 GMT+08:00
云原生监控插件兼容自建Prometheus
云原生监控插件兼容模式
- 若您已自建Prometheus,且您的Prometheus基于开源,未做深度定制、未与您的监控系统深度整合,建议您卸载自建Prometheus并直接使用云原生监控插件对您的集群进行监控,无需开启“兼容模式”。
卸载您自建的Prometheus,需要确保删除您自建Prometheus所有的工作负载以及以monitoring.coreos.com结尾的所有CRDs。详情请参见如何移除自建Prometheus?。
- 若您自建的Prometheus无法卸载,且需要使用成本洞察、监控中心等功能,当您的自建Prometheus满足兼容性要求时,您可以选择开启“兼容模式”,详情请参见开通监控中心。
兼容模式下无法得到完整的云原生监控插件体验,例如,兼容模式不支持成本优化、无法在AOM页面进行指标废弃等,详情请参见兼容模式约束。
兼容性要求
请确保您自建的Prometheus满足以下条件,否则无法正常共存运行:
- 若您的Prometheus不是基于Operator社区的KubePrometheus构建的,则满足兼容性要求。
- 若您的Prometheus是基于Operator社区的KubePrometheus构建的,则CRD prometheuses.monitoring.coreos.com的版本至少应该为0.8.0。
kubectl get crd prometheuses.monitoring.coreos.com -oyaml | grep controller-gen.kubebuilder.io/version
若回显如下,则满足兼容性要求。
Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "prometheuses.monitoring.coreos.com" not found
若回显如下,且最后的版本≥v0.8.0,则满足兼容性要求。
controller-gen.kubebuilder.io/version: v0.9.2
兼容模式约束
- 兼容模式会将云原生监控插件安装在cce-monitoring名空间下,默认不识别任何其他命名空间的ServiceMonitor和PodMonitor。
- 只支持无本地存储的模式。
- 开启后不支持关闭,可通过插件卸载安装的方式切换为正常模式。
- 暂不支持成本优化。
- 暂不支持在AOM页面进行指标废弃。
- 暂不支持在AOM页面进行ServiceMonitor和PodMonitor启停。
如何移除自建Prometheus?
- 首先,您需要删除所有自建Prometheus相关的工作负载、服务以及其他资源,包含DaemonSet、Deployment、Statefulset、Service等。一般在monitoring命名空间下,请根据您实际安装的命名空间进行调整。
- 查询所有monitoring.coreos.com CRDs。
kubectl get crd | grep monitoring.coreos.com | awk '{print $1}' | xargs
若回显为空,则无需下一步操作。
- 删除所有monitoring.coreos.com CRDs。
kubectl delete crd $(kubectl get crd | grep monitoring.coreos.com | awk '{print $1}' | xargs)