基于k8s的jenkins部署及使用(二)

基于k8s的jenkins部署及使用(二

  • 安装kubernets插件
  • 配置kubernets
  • 测试动态slave

安装kubernets插件

按照基于k8s的jenkins部署及使用(一)部署好jenkins,登录之后按照提示安装推荐插件、设置用户和密码之后就可以正常使用了。
既然是基于k8s的jenkins,肯定要能和k8s配合工作,这一步之前在网上找了很多资料,都说的不是很清楚,包括jenkins官网也没有很详细的教程,后来找到了阳明大佬的教程,感觉很棒,自己也整理一下,一方面做个笔记,另一方面也希望能帮助有需要的人。
登录jenkins页面后,在“系统管理”---->“插件管理”---->“可选插件”里面找到kubernets,勾选安装后重启jenkins即可,如下图。
jenkins的kubernets插件

配置kubernets

安装好k8s插件后就是配置jenkins连接上k8s,以便实现CICD。详细配置如图。
基于k8s的jenkins部署及使用(二)_第1张图片几点注意:

  1. 如果前面部署以及安装k8s插件没有任何问题,那么图片开头的k8s地址等等信息可以不填写,直接点击“连接测试”,应该可以成功。这一块我也不是非常清楚里面的工作原理,有大佬详细了解其中原理的话欢迎讨论。
  2. 图中一共有两个“命名空间”,一个是图片靠前部的k8s配置信息里面,一个是POD模板中的,两个都填写jenkins在k8s中的namespace即可。这里的POD模板就是动态slave的模板,其中的namespace就是以后slave的运行时所在得到namespace。
  3. 在POD模板中有两个“Host Path Volume”,分别是**/var/run/docker.sock/root/.kube**。这个是应为采用了docker in docker的工作方式,具体的可以参见阳明的博客或者自行百度。这一块非常重要,如果这两个路径没有映射到slave里面的话后面就不能正常工作。
    到此,jenkins的配置应该就好了,测试一下就好了。

测试动态slave

jenkins首页---->新建任务---->输入一个项目名字,选择“自由软件风格”,保存。
详细配置见下图
基于k8s的jenkins部署及使用(二)_第2张图片几点注意:

  1. “限制项目的运行节点”处要填写在k8s配置里面POD模板中填写的标签,因为在POD模板中设定的“用法”是“只允许运行绑定到这个机器的JOB”,也就是说只有标签一样的时候才会使用这个POD模板。
  2. 如果构建项目的时候报关于shell中“kubectl”执行的错误,很可能是前面的rbac构建有问题,这个我踩过很长时间的坑,浪费了不少时间
    配置好了就点击构建,初次构建可能会要点时间,最后控制台的数据应该这样的
    基于k8s的jenkins部署及使用(二)_第3张图片到这里基于k8s的jenkins部署就算完成了,但是还不能真正在生产里面使用。剩下的最近有时间再写。

你可能感兴趣的:(Jenkins)