kubernetes - 我可以将一个服务帐户连接到 Kubernetes 中的多个命名空间吗?
问题描述
我有几个命名空间 - 假设NS1
和NS2
. 我在那些 - sa1
inNS1
和sa2
in 中创建了服务帐户NS2
。我创建了角色和角色绑定,sa1
以便在. 我想要的是在(比如说只有 Pod Reader 角色)内给予一定的访问权限。NS1
sa2
NS2
sa1
NS2
我想知道这是否可能?
解决方案
您可以简单地从 RoleBinding 中的另一个命名空间引用 ServiceAccount:
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: Role
metadata:
name: pod-reader
namespace: ns2
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: pod-reader-from-ns1
namespace: ns2
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: pod-reader
subjects:
- kind: ServiceAccount
name: ns1-service-account
namespace: ns1
推荐阅读
- python - 在 Flask 的 base.html 中显示用户名
- python - 模糊模式匹配的替代方法
- javascript - 在 pug 模板中挂载组件
- pandas - groupby 组内的排名顺序
- ios - VideoToolBox中是否可以控制RGB到YUV矩阵的转换?
- ruby-on-rails - 根据 Rails 中的日期查询以获取结果?
- angular-validation - Angular 自定义验证错误消息不起作用
- apache-spark - Kafka S3 Sink Connector - 如何将分区标记为完整
- javascript - 尝试使用 JavaScript 设置 datetime-local
- firebase - 如何在firestore的文本字段中开始一个新段落