Jenkins 具有多个名称空间的Kubernetes群集上下文
我有一个拥有不同权限级别的开发小组的庞大管道。(用于使用Jenkins Kubernetes插件。) 例如,QA团队和Developer团队在kubernetes集群拥有不同的服务帐户 所以我需要创建一些与kubernetes集群的连接,但每次连接我都会用名称空间名称更改集群的上下文 我想在kubernetes上下文中使用多个名称空间。 这是我自己的kubernetes上下文文件Jenkins 具有多个名称空间的Kubernetes群集上下文,jenkins,kubernetes,pipeline,devops,Jenkins,Kubernetes,Pipeline,Devops,我有一个拥有不同权限级别的开发小组的庞大管道。(用于使用Jenkins Kubernetes插件。) 例如,QA团队和Developer团队在kubernetes集群拥有不同的服务帐户 所以我需要创建一些与kubernetes集群的连接,但每次连接我都会用名称空间名称更改集群的上下文 我想在kubernetes上下文中使用多个名称空间。 这是我自己的kubernetes上下文文件 - context: cluster: minikube namespace: user3 user: miniku
- context:
cluster: minikube
namespace: user3
user: minikube
如何使用kubernetes api调用或yaml文件处理此问题?
这是我的示例服务帐户yaml文件
apiVersion: v1
kind: ServiceAccount
metadata:
name: dev
如果您希望一个jenkins使用不同的服务帐户与kubernetes API对话,则需要在配置中创建多个jenkins“云”,每个都具有不同的凭据。然后在您的管道中设置“云”选项以选择正确的一个我不确定您到底想要实现什么。你能提供更多的细节吗?我不确定你在设置正确的位置时遇到了什么问题。最后的评论是解释一切,谢谢你的关注。谢谢你的建议。我还看了你介绍Jenkins插件的视频。我已经为每个QA、dev组创建了服务帐户并创建了多个jenkins云环境。
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