如何提供对服务帐户的访问以在多个命名空间中读取 pods?
How to provide access to a service account to read pods in multiple namespaces?
我将复习 Kubernetes 中的 RBAC。在我看来
- ServiceAccount 可以绑定到命名空间中的角色
(或)
- ServiceAccount 可以绑定到 ClusterRole 并具有集群范围的访问权限(所有命名空间?)
单个服务帐户(或用户)是否有可能不具有集群范围的访问权限,而仅在命名空间的子集中具有只读访问权限?如果是这样,有人可以详细说明如何实现这一目标。谢谢!
您需要为 ServiceAccount 应该有权访问的每个命名空间中的每个命名空间创建一个 RoleBinding。
有一个示例可以为默认 ServiceAccount 授予读取 development
命名空间中的 pods 的权限。
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: read-secrets
namespace: development # This only grants permissions within the "development" namespace.
subjects:
- kind: ServiceAccount
name: default
namespace: kube-system
roleRef:
kind: Role
name: pod-reader
apiGroup: rbac.authorization.k8s.io
我将复习 Kubernetes 中的 RBAC。在我看来
- ServiceAccount 可以绑定到命名空间中的角色 (或)
- ServiceAccount 可以绑定到 ClusterRole 并具有集群范围的访问权限(所有命名空间?)
单个服务帐户(或用户)是否有可能不具有集群范围的访问权限,而仅在命名空间的子集中具有只读访问权限?如果是这样,有人可以详细说明如何实现这一目标。谢谢!
您需要为 ServiceAccount 应该有权访问的每个命名空间中的每个命名空间创建一个 RoleBinding。
有一个示例可以为默认 ServiceAccount 授予读取 development
命名空间中的 pods 的权限。
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: read-secrets
namespace: development # This only grants permissions within the "development" namespace.
subjects:
- kind: ServiceAccount
name: default
namespace: kube-system
roleRef:
kind: Role
name: pod-reader
apiGroup: rbac.authorization.k8s.io