无法安装GitLab Kubernetes托管应用Prometheus的问题求助
问题根因
你遇到的报错是因为Kubernetes 1.22及以上版本正式移除了rbac.authorization.k8s.io/v1beta1版本的API组,当前你使用的Prometheus Helm Chart版本过老,仍然在调用已废弃的ClusterRole、ClusterRoleBinding v1beta1版本API,导致资源无法识别。后续的helm diff插件报错是前置资源解析失败触发的连带问题,本身无异常。
你当前的根helmfile.yaml配置本身没有问题,问题出在你启用的applications/prometheus/helmfile.yaml引用的Prometheus Chart版本不兼容你的集群版本。
解决步骤
- 第一步:先确认集群版本,执行命令:
kubectl version --short
确认服务端版本≥v1.22,匹配根因判断。 - 第二步:修改Prometheus Helm配置,可选两种方案:
- 方案1:更新Prometheus Chart到兼容版本
打开applications/prometheus/helmfile.yaml,将Chart源替换为适配你集群版本的最新官方Prometheus Chart(或kube-prometheus-stack),同时在values配置中新增RBAC API版本指定:rbac: apiVersion: rbac.authorization.k8s.io/v1 - 方案2:弃用GitLab内置Prometheus模板手动对接
如果你不想修改Chart配置,可以先注释掉helmfile.yaml里的Prometheus引用,手动在集群中部署新版Prometheus,之后到GitLab集群集成设置中关闭内置Prometheus开关,填写你自行部署的Prometheus访问地址完成对接即可。
- 方案1:更新Prometheus Chart到兼容版本
- 第三步:重新执行helmfile部署操作验证修复效果。
内容的提问来源于stack exchange,提问作者andreas.teich
相关产品推荐
相关产品推荐

