如何卸载GCP控制台启用的Google Managed Prometheus?
彻底卸载GKE集群中的Managed Service for Prometheus(GMP)
因为GMP是GCP托管的监控服务,集群内的代理资源由GCP端的控制器同步管理,仅通过kubectl delete all --all -n gmp-system删除资源会被自动重建,需按以下步骤彻底卸载:
1. 先在GCP端禁用Managed Service for Prometheus
首先要停止GCP对集群的GMP服务同步,避免资源被重新创建:
方式一:使用gcloud命令行
替换你的集群名称和区域/地域后执行:
gcloud container clusters update CLUSTER_NAME --location LOCATION --disable-managed-prometheus
方式二:通过GCP控制台操作
- 打开GKE集群列表,选择目标集群
- 进入监控标签页
- 找到Managed Service for Prometheus的配置项,点击禁用
- 等待GCP完成禁用流程,这会终止向集群推送GMP的管理配置
2. 清理GKE集群内的残留资源
禁用GCP端服务后,彻底清理集群内的GMP相关资源:
- 删除gmp-system命名空间(会一次性删除该命名空间下所有资源):
kubectl delete namespace gmp-system
- 删除GMP关联的自定义资源定义(CRDs),这些是GMP资源管理的核心依赖:
kubectl delete crd alertmanagerconfigs.monitoring.googleapis.com kubectl delete crd alertmanagers.monitoring.googleapis.com kubectl delete crd podmonitors.monitoring.googleapis.com kubectl delete crd probes.monitoring.googleapis.com kubectl delete crd prometheuses.monitoring.googleapis.com kubectl delete crd prometheusrules.monitoring.googleapis.com kubectl delete crd servicemonitors.monitoring.googleapis.com kubectl delete crd thanosrulers.monitoring.googleapis.com
- 删除GMP相关的集群级权限资源:
kubectl delete clusterrole gmp-operator kubectl delete clusterrolebinding gmp-operator
验证卸载结果
执行以下命令确认所有GMP相关资源已清除:
kubectl get namespaces | grep gmp-system kubectl get crd | grep monitoring.googleapis.com
若无任何输出,说明卸载完成。
内容的提问来源于stack exchange,提问作者deagleshot
相关产品推荐
相关产品推荐

