kubernetes api:Failure 403 POD被禁止:用户“系统:服务帐户:默认值:日志地址”无法在api组中列出资源“POD”

kubernetes api:Failure 403 POD被禁止:用户“系统:服务帐户:默认值:日志地址”无法在api组中列出资源“POD”,kubernetes,Kubernetes,不确定这里出了什么问题,因为我已经授予了正确的权限,但仍然得到了禁止的错误 我将以下YAML用于ClusterRole、ClusterRoleBinding和ServiceAccount 集群角色 -- apiVersion:rbac.authorization.k8s.io/v1 种类:ClusterRole 元数据: 姓名:journalbeat 规则: -蜂群: -扩展 资源名称: -记者 资源: -安全政策 动词: -使用 -蜂群: - 资源: -名称空间 -豆荚 动词: -得到 -监

不确定这里出了什么问题,因为我已经授予了正确的权限,但仍然得到了禁止的错误

我将以下YAML用于ClusterRole、ClusterRoleBinding和ServiceAccount

集群角色 -- apiVersion:rbac.authorization.k8s.io/v1 种类:ClusterRole 元数据: 姓名:journalbeat 规则: -蜂群: -扩展 资源名称: -记者 资源: -安全政策 动词: -使用 -蜂群: - 资源: -名称空间 -豆荚 动词: -得到 -监视 -名单 Rolebinding.yaml -- apiVersion:rbac.authorization.k8s.io/v1 种类:簇状卷边 元数据: 姓名:journalbeat roleRef: apiGroup:rbac.authorization.k8s.io 种类:ClusterRole 姓名:journalbeat 学科: -种类:服务帐户 姓名:journalbeat 名称空间:journalbat 服务帐户 -- 版本:v1 种类:服务帐户 元数据: 姓名:journalbeat 日志服务器pod的错误日志 $kubectl日志-f journalbeat-4thzj 2020-06-24T06:30:34.947Z信息实例/beat.go:606主路径:[/usr/share/journalbat]配置路径:[/usr/share/journalbat]数据路径:[/usr/share/journalbat/Data]日志路径:[/usr/share/journalbat/Logs] 2020-06-24T06:30:34.952Z信息实例/节拍。转到:614节拍ID:dd2ed096-8ad0-4e7d-86f8-340acfcddd1d 2020-06-24T06:30:34.953Z INFO kubernetes/util.go:71 kubernetes:使用配置文件中提供的节点ip-172-28-20-76 2020-06-24T06:30:34.953Z信息库伯内特斯/观察者。转到:182库伯内特斯:为*v1.PodList执行资源同步 2020-06-24T06:30:34.961Z错误kubernetes/观察者go:185 kubernetes:执行资源同步错误kubernetes api:失败403 pods被禁止:用户系统:serviceaccount:默认值:journalbeat无法在*v1.PodList的群集范围内列出api组中的资源pods 2020-06-24T06:30:34.961Z信息实例/节拍。转到:366日志已停止。 2020-06-24T06:30:34.961Z错误实例/beat.go:877退出:初始化处理器时出错:kubernetes api:失败403 POD被禁止:用户系统:serviceaccount:默认值:journalbeat无法在群集范围的api组中列出资源POD 退出:初始化处理器时出错:kubernetes api:故障403禁止吊舱:用户系统:serviceaccount:默认值:journalbeat无法在群集范围的api组中列出资源吊舱 也

$kubectl auth can-i get pods-as system:servicecomport:default:journalbat 不
您的ServiceAccount位于默认命名空间中,因此请修改ClusterRoleBinding,如下所示:

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: journalbeat
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: journalbeat
subjects:
  - kind: ServiceAccount
    name: journalbeat
    namespace: default # as your ServiceAccount is in default namespace

您的ServiceAccount位于默认命名空间中,因此请修改ClusterRoleBinding,如下所示:

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: journalbeat
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: journalbeat
subjects:
  - kind: ServiceAccount
    name: journalbeat
    namespace: default # as your ServiceAccount is in default namespace

你可以检查运行kubectl auth can-i get pods-as system:serviceaccount:default:journalbeat吗?@hoque,没有,我在问题描述中添加了它。你可以检查运行kubectl auth can-i get pods-as system:serviceaccount:default:journalbeat吗?@hoque,没有,我在问题描述中添加了它非常感谢@hoque,它现在可以工作了。我从别的地方得到了密码。我应该知道我是在journalbeat命名空间中创建clusterrolebinding的。我想如果我也删除名称空间,它应该可以工作。非常感谢@hoque,它现在可以工作了。我从别的地方得到了密码。我应该知道我是在journalbeat命名空间中创建clusterrolebinding的。我认为如果我也删除名称空间,它应该可以工作。