2 votes

Contexte du cluster Kubernetes avec plusieurs espaces de noms

Je possède un énorme pipeline avec différents groupes de développeurs avec plusieurs niveaux de permission. (Pour utiliser le plugin Kubernetes Jenkins.)

Par exemple, les équipes QA et les équipes Développeur ont des comptes de service différents sur le cluster Kubernetes.

Donc, j'ai besoin de créer une connexion avec les clusters Kubernetes mais à chaque connexion je change le contexte du cluster avec le nom de l'espace de noms.

Je veux utiliser plusieurs espaces de noms dans le contexte Kubernetes. Voici mon propre fichier de contexte Kubernetes.

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

Comment puis-je résoudre ce problème avec un appel API Kubernetes ou dans des fichiers yaml ? Voici mon exemple de fichier yaml de compte de service.

 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

2voto

csanchez Points 1120

Si vous souhaitez qu'un jenkins communique avec l'API de kubernetes en utilisant différents comptes de service, vous devez créer plusieurs "clouds" Jenkins dans la configuration, chacun avec des identifiants différents. Ensuite, dans votre pipeline, vous définissez l'option "cloud" pour choisir le bon.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X