在Kubernetes上部署多个命名空间的唯一分蘖器
在找不到,Tiller是否能够在其他多个命名空间上安装图表 我希望kube系统名称空间上有一个舵柄,也有多个名称空间:名称空间A、名称空间B、名称空间C等等 最后,我希望可以将nginx部署到多个名称空间,如:在Kubernetes上部署多个命名空间的唯一分蘖器,kubernetes,kubernetes-helm,Kubernetes,Kubernetes Helm,在找不到,Tiller是否能够在其他多个命名空间上安装图表 我希望kube系统名称空间上有一个舵柄,也有多个名称空间:名称空间A、名称空间B、名称空间C等等 最后,我希望可以将nginx部署到多个名称空间,如: helm init --service-account tiller --tiller-namespace kube-system helm install nginx --tiller-namespace kube-system --namespace namespaceA helm
helm init --service-account tiller --tiller-namespace kube-system
helm install nginx --tiller-namespace kube-system --namespace namespaceA
helm install nginx --tiller-namespace kube-system --namespace namespaceB
我想知道这是否可能,以及如何设置服务帐户、角色和角色绑定
谢谢 可以使用clustetRoles而不是角色来完成,这样您就可以在所有名称空间中授予权限。clusterrole、clusterrolebinding和serviceaccount代码为:
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: tiller-manager
rules:
- apiGroups: ["", "batch", "extensions", "apps"]
resources: ["*"]
verbs: ["*"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: tiller-binding
subjects:
- kind: ServiceAccount
name: tiller
namespace: kube-system
roleRef:
kind: ClusterRole
name: tiller-manager
apiGroup: rbac.authorization.k8s.io
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: tiller
namespace: kube-system
如果只想向少数命名空间授予权限,则应在每个命名空间中创建如下角色绑定:
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: tiller-binding
namespace: namespaceA
subjects:
- kind: ServiceAccount
name: tiller
namespace: kube-system
roleRef:
kind: ClusterRole
name: tiller-manager
apiGroup: rbac.authorization.k8s.io
谢谢你友好的指导。是的,简单的答案是使用ClusterRole。我更喜欢使用角色,因为Tiller ServiceAccount不应该操作kube系统命名空间上的资源。这有意义吗?种类:角色元数据:名称:namespaceA tiller manager命名空间:namespaceA(snip)---种类:RoleBinding元数据:名称:namespaceA tiller绑定命名空间:namespaceA主题:-种类:ServiceAccount名称:tiller命名空间:namespaceA(snip)是,您可以为每个命名空间定义一个role+roleBinding,或者只定义clusterRole并将其授予具有rolebindings的特定命名空间(请参阅我的最后一段代码)。结果将是相同的,clusterrole将只在具有RoleBinding的名称空间中工作。