Kubernetes “库伯内特斯”;pods.metrics.k8s.io“的;“我的豆荚名称”;禁止:用户“;系统:serviceaccount:default:default";无法获取资源“;豆荚“;

Kubernetes “库伯内特斯”;pods.metrics.k8s.io“的;“我的豆荚名称”;禁止:用户“;系统:serviceaccount:default:default";无法获取资源“;豆荚“;,kubernetes,roles,service-accounts,Kubernetes,Roles,Service Accounts,我不知道我的角色绑定有什么问题。在尝试获取pod的指标时,我不断遇到此错误 “pods.metrics.k8s.io”我的pod名称被禁止:用户“系统:服务帐户:默认值:默认值”无法获取命名空间“default”中API组“metrics.k8s.io”中的资源“pod” 下面是集群角色yaml文件 kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata: namespace: default name: p

我不知道我的角色绑定有什么问题。在尝试获取pod的指标时,我不断遇到此错误

“pods.metrics.k8s.io”我的pod名称被禁止:用户“系统:服务帐户:默认值:默认值”无法获取命名空间“default”中API组“metrics.k8s.io”中的资源“pod”

下面是集群角色yaml文件

kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  namespace: default
  name: pod-reader
rules:
  - apiGroups: ["", "metrics.k8s.io"] # "" indicates the core API group
    resources: ["pods"]
    verbs: ["get", "watch", "list"]
然后我运行了这个命令

kubectl create clusterrolebinding pod-reader \
  --clusterrole=pod-reader  \
  --serviceaccount=default:default

ClusterRole和ClusterRolebinding是无名称空间的资源。因此,从YAML文件中删除名称空间行


或者,如果您想将范围扩展到命名空间,请使用Role&RoleBinding。

您的
ClusterRole
名称是
pod reader
,但在您的命令中,您正在传递
--ClusterRole
带有名称的标志
服务读取器
。你能检查一下这个不匹配吗?谢谢!我解决了这个问题,但仍然无法工作。我也陷入了同样的问题。我希望这有一些答案:)