Контекст кластера Kubernetes с несколькими пространствами имен - PullRequest
0 голосов
/ 27 августа 2018

У меня огромный конвейер с различными группами разработчиков с несколькими уровнями разрешений. ( Для использования плагина Jenkins Kubernetes. )

Например QA команды и Разработчик команды имеет разные учетные записи в кластере kubernetes.

Поэтому мне нужно создать какое-то соединение с кластерами kubernetes, но при каждом соединении я меняю контекст кластера с именем пространства имен.

Я хочу использовать несколько пространств имен в контексте kubernetes.Это мой собственный контекстный файл kubernetes.

- context:
cluster: minikube
namespace: user3
user: minikube

Как я могу решить эту проблему с помощью вызова API kubernetes или в файлах yaml?Это мой пример файла службы учетной записи yaml.

 apiVersion: v1
 kind: ServiceAccount
 metadata:
  name: dev

 kind: Role
 apiVersion: rbac.authorization.k8s.io/v1beta1
 metadata:
   name: dev

 rules:
  - apiGroups: [""]
  resources: ["pods"]
 verbs: ["create","delete","get","list","patch","update","watch"]
 - apiGroups: [""]
 resources: ["pods/exec"]
   verbs: ["create","delete","get","list","patch","update","watch"]
 - apiGroups: [""]
  resources: ["pods/log"]
 verbs: ["get","list","watch"]
 - apiGroups: [""]
 resources: ["secrets"]
 verbs: ["get"]

 apiVersion: rbac.authorization.k8s.io/v1beta1
 kind: RoleBinding
 metadata:
 name: dev

  roleRef:
  apiGroup: rbac.authorization.k8s.io
   kind: Role
  name: dev
subjects:
  - kind: ServiceAccount
    name: dev

1 Ответ

0 голосов
/ 29 августа 2018

Если вы хотите, чтобы один jenkins говорил с API kubernetes с разными учетными записями служб, вам необходимо создать несколько «облаков» Jenkins в конфигурации, каждое с разными учетными данными.Затем в своем конвейере вы устанавливаете «облачную» опцию, чтобы выбрать правильную

...