TKE上动态部署jenkins-slaves
本章我们来讲一下如何在TKE上搭建jenkins这个CI/CD工具,这边我们在进行构建的时候可以自动生成一个slave pod来进行走流水线,流水线跑完之后会自动销毁。
部署jenkins的rbac权限
[root@VM_0_13_centos jenkins]# cat rbac.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: jenkins2
namespace: jenkins
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: jenkins2
rules:
- apiGroups: ["extensions", "apps"]
resources: ["deployments"]
verbs: ["create", "delete", "get", "list", "watch", "patch", "update"]
- apiGroups: [""]
resources: ["services"]
verbs: ["create", "delete", "get", "list", "watch", "patch", "update"]
- 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: ClusterRoleBinding
metadata:
name: jenkins2
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: jenkins2
subjects:
- kind: ServiceAccount
name: jenkins2
namespace: jenkins创建pvc进行jenkins的数据持久化
这边通过cbs卷挂载jenkins的数据

部署jenkins的应用
采用treafik暴露域名给jenkins
访问初始化jenkins
查看登录的初始密码,然后安装好推荐的插件,安装好之后配置账号,直接登录即可。

安装Kubernetes-plugin 插件
我这边已经安装好了,可以选择可选插件输入Kubernetes搜索找到插件进行安装

连接TKE集群
在“系统配置”面板最下方,选择“云”模块下的【新增一个云】>【Kubernetes】。如下图所示
对应的证书文件和token以及api地址可以从TKE集群中节点上的下面文件获取
集群证书获取
apiserver地址和token
将上述获取的填入集群配置

其他配置如下图所示,我们jenkins的master采用的hosts模式,所以这边直接用节点的8080端口

slave 的 pod的配置如下


创建测试项目进行构建


执行任务构建
执行构建会自动生成一个slave pod,执行任务结束后会自动删除掉



参考文档
最后更新于
这有帮助吗?