【问题标题】:Create serviceaccount for more then one namespaces为多个命名空间创建 serviceaccount
【发布时间】:2019-10-22 19:47:29
【问题描述】:

我正在尝试使用相同的令牌在 Kubernetes 中创建一个服务帐户,并且只允许他们访问三个命名空间。这在 Kubernetes 中可行吗?

我做了什么:

我创建了我的服务帐户:

kubectl create serviceaccount myuser

我创建一个角色:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    kubernetes.io/bootstrapping: rbac-defaults
  name: myrole
rules:
- apiGroups:
  - ""
  resources:
  - pods/attach
  - pods/exec
  - pods/portforward
  - pods/proxy
  - secrets
  - services/proxy
  verbs:
  - get
  - list
  - watch

我创建了一个 ClusterRoleBinding

kind: ClusterRoleBinding
metadata:
  labels:
  name: myRoleBinding
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: myrole
subjects:
- kind: ServiceAccount
  name: myuser
  namespace: wordpress
- kind: ServiceAccount
  name: myuser
  namespace: mysql
- kind: ServiceAccount
  name: myuser
  namespace: redis

我试图在命名空间 wordpress 中获取 secrets,但得到了这个:

Error from server (Forbidden): pods is forbidden: User
"system:serviceaccount:default:myuser" cannot list resource "secrets" in API group
 "" in the namespace "wordpress"

希望有人可以在这里提供帮助。

【问题讨论】:

  • 您正在使用 default 命名空间中的服务帐户,这不是您分配角色的帐户之一。

标签: kubernetes


【解决方案1】:

您希望将该集群角色绑定到所有三个命名空间中的服务帐户。为此,请在每个命名空间中创建一个命名空间角色绑定。

$ kubectl create rolebinding myrolebinding --serviceaccount=default:myuser --clusterrole=myrole --namespace=wordpress

$ kubectl create rolebinding myrolebinding --serviceaccount=default:myuser --clusterrole=myrole --namespace=namespace2

$ kubectl create rolebinding myrolebinding --serviceaccount=default:myuser --clusterrole=myrole --namespace=namespace3

【讨论】:

  • 谢谢!这就是我要找的!
【解决方案2】:

试着把它放在你的集群角色中

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    kubernetes.io/bootstrapping: rbac-defaults
  name: myrole
rules:
- apiGroups:
  - "*"
  resources:
  - pods/attach
  - pods/exec
  - pods/portforward
  - pods/proxy
  - secrets
  - services/proxy
  verbs:
  - get
  - list
  - watch

【讨论】:

    猜你喜欢
    • 2021-12-06
    • 2020-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-15
    • 2015-12-29
    • 1970-01-01
    相关资源
    最近更新 更多