OpenShift安装对接GitLab的Tekton Triggers EventListener报configmaps权限错误
报错原因
日志中明确提示tekton-triggers-eventlistener-roles、tekton-triggers-eventlistener-clusterroles两个ClusterRole不存在,这就是导致ServiceAccount没有权限读取ConfigMap、EventListener无法正常启动的核心原因。
该问题通常出现在使用旧版官方示例配置适配新版Tekton Triggers的场景:Tekton Triggers较新版本已经不再默认预置这两个ClusterRole,旧示例的RBAC配置没有同步更新,只创建了RoleBinding、ClusterRoleBinding,但对应的绑定目标ClusterRole并不存在。
解决方案
方案1:手动创建缺失的ClusterRole
新建YAML文件tekton-triggers-clusterroles.yaml,写入以下配置:
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: tekton-triggers-eventlistener-roles rules: - apiGroups: ["triggers.tekton.dev"] resources: ["eventlisteners", "triggers", "triggerbindings", "triggertemplates", "interceptors"] verbs: ["get", "list", "watch"] - apiGroups: [""] resources: ["configmaps", "secrets"] verbs: ["get", "list", "watch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: tekton-triggers-eventlistener-clusterroles rules: - apiGroups: ["triggers.tekton.dev"] resources: ["clustertriggerbindings", "clusterinterceptors"] verbs: ["get", "list", "watch"]
执行命令部署:
kubectl apply -f tekton-triggers-clusterroles.yaml
方案2:复用Tekton Triggers预置聚合角色
如果你的Tekton Triggers安装时已经预置了tekton-triggers-eventlistener-admin聚合ClusterRole,可以直接修改原有RBAC配置的roleRef为该角色,无需额外创建资源。
配置完成后,重启EventListener对应的Pod即可恢复正常,后续Webhook请求就能正常触发PipelineRun。
内容的提问来源于stack exchange,提问作者jonashackt
相关产品推荐
相关产品推荐

