kubernetes - 如何为 Kubernetes 集群中的所有命名空间创建服务帐户?
问题描述
所以我有命名空间
ns1、ns2、ns3 和 ns4。
我在 ns1 中有一个服务帐户 sa1。我正在将 pod 部署到使用 sa1 的 ns2、ns4。当我查看日志时,它告诉我找不到 ns2 中的 sa1。
错误:
创建错误:pod“web-test-2-795f5fd489-”被禁止:查找服务帐户 ns2/sa 时出错:找不到服务帐户“sa”
有没有办法使服务帐户集群范围广泛?或者,我可以使用相同的密钥创建多个服务帐户吗?在不同的命名空间?
解决方案
你可以用那个
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: kubernetes-enforce
rules:
- apiGroups: ["apps"]
resources: ["deployments","pods","daemonsets"]
verbs: ["get", "list", "watch", "patch"]
- apiGroups: ["*"]
resources: ["namespaces"]
verbs: ["get", "list", "watch"]
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: kubernetes-enforce
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: kubernetes-enforce-logging
namespace: cattle-logging
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: kubernetes-enforce
subjects:
- kind: ServiceAccount
name: kubernetes-enforce
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: kubernetes-enforce-prome
namespace: cattle-prometheus
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: kubernetes-enforce
subjects:
- kind: ServiceAccount
name: kubernetes-enforce
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: kubernetes-enforce-system
namespace: cattle-system
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: kubernetes-enforce
subjects:
- kind: ServiceAccount
name: kubernetes-enforce
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: kubernetes-enforce-default
namespace: default
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: kubernetes-enforce
subjects:
- kind: ServiceAccount
name: kubernetes-enforce
namespace: kube-system
推荐阅读
- java - 从tomcat java运行Webdriver
- java - TOTP / HOTP / HmacSHA256 与 Java 中的无符号字节密钥
- mysql - Hack : 将数据从 pi3 发送到服务器云
- angular - 在 Angular 上将样式作为模块导入
- javascript - 如果日期更多是页面加载时定义的日期,如何添加类
- android - 无法在最新的 android studio 中解决依赖问题。为什么以及最新的android studio中的问题是什么
- api - 在 softlayer 上配置网络网关时无法过滤具有服务器的数据中心
- mysql - MySQL触发器在插入另一个表后更新一个表中的字段
- python - 创建一个包含不同行的项目的列表
- delphi - FireDAC ResultConnectionDef 和有关服务器和端口的信息