Kuberenets - 具有 cluster-admin 的服务帐户无法访问命名空间

问题描述 投票:0回答:1

我在

kube-system
命名空间下创建了一个名为“test-sa”的 ServiceAccount,并创建了一个 ClusterRoleBinding 将此服务帐户绑定到
cluster-admin
角色:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: test-sa-binding
subjects:
  - kind: ServiceAccount
    name: test-sa
    apiGroup: ""
    namespace: kube-system
roleRef:
  kind: ClusterRole
  name: cluster-admin
  apiGroup: ""

尝试使用此服务帐户执行

helm install
命令时,出现以下错误:

无法继续安装:无法获取有关资源的信息:禁止使用 serviceaccounts“test-sa-ns1”:用户“test-sa”无法获取命名空间“ns1”中 API 组“”中的资源“serviceaccounts”

我在这里缺少什么?据我所知 ClusterRoleBinding 应该适用于所有命名空间

kubernetes kubernetes-helm
1个回答
0
投票

我将所有功劳归功于给出这个答案的@Malgorzata......

ServiceAccount
更改为
User

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: test-sa-binding
subjects:
  - kind: ServiceAccount
    name: test-sa
    apiGroup: ""
    namespace: kube-system
roleRef:
  kind: User
  name: cluster-admin
  apiGroup: ""

我写这篇文章是为了提高它的答案,因为如果我早点找到它,我就不会浪费我的时间。

© www.soinside.com 2019 - 2024. All rights reserved.