Sole Tiller для развертывания нескольких пространств имен в Kubernetes - PullRequest
0 голосов
/ 10 октября 2018

Не удалось найти в https://github.com/helm/helm/blob/master/docs/rbac.md. Может ли Tiller установить диаграмму в других нескольких пространствах имен?

Я надеюсь, что есть один Tiller в пространстве имен kube-system, и есть также несколько пространств имен: namespaceA, namespaceB, namespaceC, ....

Наконец, я надеюсь, что смогу развернуть nginx в нескольких пространствах именкак:

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

Я хотел бы знать, возможно ли это и как можно установить учетные записи служб, роли и привязки ролей.

Спасибо.

1 Ответ

0 голосов
/ 10 октября 2018

Это может быть сделано с clusterteRoles вместо Roles, таким образом, вы можете предоставлять разрешения во всех пространствах имен.Код 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
...