在使用 Helm Chart 部署服务时,安装失败,因为 tiller
serviceaccount 没有权限创建 ServiceMonitor
资源。
注意:
ServiceMonitor
是 Prometheus Operator 定义的 CRD,用于自动获取 Pod 中运行容器的指标。- Helm Tiller 在单个命名空间中安装,RBAC 已经使用 Role 和 RoleBinding 进行设置。
我想验证 tiller
serviceaccount 的权限。
kubectl
有 auth can-i
命令,像以下查询一样,总是返回 no
。
kubectl auth can-i list deployment --as=tiller
kubectl auth can-i list deployment --as=staging:tiller
如何正确检查 serviceaccount 的权限?
如何使 tiller
账户能够创建 ServiceMonitor 资源?
kubectl auth can-i
的一个常见错误是忘记为rolebinding
添加-n <namespace>
,因为rolebinding
只在命名空间中授予权限。 - B.Z.kubectl auth can-i --as=system:serviceaccount:default:default --list
。 - arve0