Kubernetes 群集范围内API组中的禁用资源

Kubernetes 群集范围内API组中的禁用资源,kubernetes,prometheus,minikube,Kubernetes,Prometheus,Minikube,我无法确定我的设置权限的确切问题,如下所示。我已经调查了所有类似的QA,但仍然无法解决这个问题。我们的目标是部署Prometheus,让它抓取集群中我的其他应用程序可以很好地公开的/metrics端点 未能查看*v1.Endpoints:未能列出*v1.Endpoints:端点被禁止:用户\“系统:服务帐户:默认值:默认值\”无法列出群集范围内API组\“\”中的资源\“端点\” 未能观看*v1.Pod:未能列出*v1.Pod:pods被禁止:用户\“系统:服务帐户:默认值:默认值\”无法列出群

我无法确定我的设置权限的确切问题,如下所示。我已经调查了所有类似的QA,但仍然无法解决这个问题。我们的目标是部署Prometheus,让它抓取集群中我的其他应用程序可以很好地公开的
/metrics
端点

未能查看*v1.Endpoints:未能列出*v1.Endpoints:端点被禁止:用户\“系统:服务帐户:默认值:默认值\”无法列出群集范围内API组\“\”中的资源\“端点\”
未能观看*v1.Pod:未能列出*v1.Pod:pods被禁止:用户\“系统:服务帐户:默认值:默认值\”无法列出群集范围内API组\“pods\”中的资源\“pods\”
未能观看*v1.Service:未能列出*v1.Service:服务被禁止:用户\“系统:服务帐户:默认值:默认值\”无法列出群集范围内API组\“\”中的资源\“服务\”
...
...
下面的命令向所有服务、节点、POD等返回
no

kubectl auth can-i get services--as=system:servicecomport:default:default-n default
Minikube

$minikube start--vm driver=virtualbox--extra config=apiserver.Authorization.Mode=RBAC
用户“system:serviceaccount:default:default”无法列出群集范围内API组“”中的资源“端点”

用户“system:serviceaccount:default:default”无法列出群集范围内API组“”中的资源“POD”

用户“system:serviceaccount:default:default”无法列出群集范围内API组“”中的资源“服务”

在命名空间
default
中使用ServiceAccount
default
运行的某些内容正在执行它无权执行的操作

apiVersion: v1
kind: ServiceAccount
metadata:
  name: monitoring-service-account
在这里您可以创建一个特定的ServiceAccount。您还授予它一些集群范围的权限

apiVersion: apps/v1
kind: Deployment
metadata:
  name: prometheus-deployment
  namespace: default
您在名称空间
default
中运行Prometheus,但没有指定特定的ServiceAccount,因此它将与ServiceAccount
default
一起运行

我认为您的问题是您应该设置在Prometheus的部署清单中创建的ServiceAccount

用户“system:serviceaccount:default:default”无法列出群集范围内API组“”中的资源“端点”

用户“system:serviceaccount:default:default”无法列出群集范围内API组“”中的资源“POD”

用户“system:serviceaccount:default:default”无法列出群集范围内API组“”中的资源“服务”

在命名空间
default
中使用ServiceAccount
default
运行的某些内容正在执行它无权执行的操作

apiVersion: v1
kind: ServiceAccount
metadata:
  name: monitoring-service-account
在这里,您可以创建一个特定的ServiceAccount。您还可以授予它一些群集范围的权限

apiVersion: apps/v1
kind: Deployment
metadata:
  name: prometheus-deployment
  namespace: default
您在名称空间
default
中运行Prometheus,但没有指定特定的ServiceAccount,因此它将与ServiceAccount
default
一起运行


我想你的问题是你应该设置你在普罗米修斯的部署清单中创建的ServiceAccount。

你是对的。我所要做的就是将
serviceAccountName:monitoring service account
添加到部署清单的
spec.spec
。谢谢。你说得对。我所要做的就是添加
ServiceAccountt名称:监视部署清单的服务帐户
spec.spec
。谢谢。