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