具有群集角色的Kubernetes服务帐户
我已经创建了一个具有集群角色的服务帐户,是否可以通过API使用此服务帐户跨不同名称空间部署POD 以下是完成角色创建和绑定的模板:具有群集角色的Kubernetes服务帐户,kubernetes,kubectl,minikube,Kubernetes,Kubectl,Minikube,我已经创建了一个具有集群角色的服务帐户,是否可以通过API使用此服务帐户跨不同名称空间部署POD 以下是完成角色创建和绑定的模板: apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRole metadata: name: api-access rules: - apiGroups: - "" - apps - autoscaling - batch -
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRole
metadata:
name: api-access
rules:
-
apiGroups:
- ""
- apps
- autoscaling
- batch
- extensions
- policy
- rbac.authorization.k8s.io
resources:
- componentstatuses
- configmaps
- daemonsets
- deployments
- events
- endpoints
- horizontalpodautoscalers
- ingress
- jobs
- limitranges
- namespaces
- nodes
- pods
- persistentvolumes
- persistentvolumeclaims
- resourcequotas
- replicasets
- replicationcontrollers
- serviceaccounts
- services
verbs: ["*"]
- nonResourceURLs: ["*"]
verbs: ["*"]
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: api-access
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: api-access
subjects:
- kind: ServiceAccount
name: api-service-account
namespace: default
Kubernetes服务帐户不是名称空间对象,所以“我可以在名称空间之间使用服务帐户吗?”的答案是肯定的 对于第二部分:我不知道您对API的意思,但如果它是kubernetes apiserver,那么是的,您可以使用kubectl的服务帐户,确保您作为服务帐户执行。您可以为此和引用模拟用户:
如果您的意思是为部署或使用external deployer构建新的API,那么您应该使用此服务帐户进行部署,如下所述:是,您的服务帐户将能够创建任何名称空间中的资源并对其执行操作,因为您已经使用
ClusterRoleBinding在集群范围内授予了它这些权限。您可以详细说明一下您的问题吗。“通过API”是什么意思?到目前为止,您到底在尝试做什么?