kubernetes - 访问所有命名空间的 Kubernetes 服务帐户
问题描述
我正在尝试从我的另一个 pod 访问所有命名空间和 pod。因此,我创建了 clusterrole、clusterrolebinding 和服务帐户。我能够访问唯一的客户命名空间资源。但我需要访问所有命名空间资源。可能吗?
apiVersion: v1
kind: ServiceAccount
metadata:
name: spinupcontainers
namespace: customer
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: spinupcontainers
namespace: customer
rules:
- apiGroups: [""]
resources: ["pods", "pods/exec"]
verbs: ["get", "list", "delete", "patch", "create"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: spinupcontainers
namespace: customer
subjects:
- kind: ServiceAccount
name: spinupcontainers
roleRef:
kind: ClusterRole
name: spinupcontainers
apiGroup: rbac.authorization.k8s.io
任何人都可以帮助解决这个问题吗?
提前致谢
解决方案
在您的 YAML 示例中,您似乎使用的是 aRoleBinding
而不是ClusterRoleBinding
. ARoleBinding
仅在命名空间内授予这些权限。另请参阅有关此主题的 Kubernetes 文档:
RoleBinding 授予特定命名空间内的权限,而 ClusterRoleBinding 授予访问集群范围的权限。
推荐阅读
- c++ - 如何在 MSBuild 中自动生成两阶段代码?
- python - 如何对应用程序进行并行调用?
- dart - 比较两个字符串列表并检查它们是否至少有一个相同的字符串
- azure - Azure 数据工厂将参数传递给函数(字符串替换)
- db2 - 恢复数据库并非所有行都恢复
- php - 注册新表格时,我的数据库不更新数据
- php - mysql:从两个表中获取数据取决于第一个表的id和json中的结果
- python - win10 pro 64 bit + python 3.6.0 ImportError: DLL load failed: 找不到指定模块
- visual-studio - 为 nopCommerce 开发插件时运行时间很长
- jquery - 如何使用返回按钮使进度条返回单击