随着Jenkins被大量使用,单台打包机完全无法应对打包慢,线程不够等一系列问题
这时候可以添加固定Node的方式去解决问题,但是慢慢你会发现固定Node也无法解决问题,如果并不是超级多的打包任务,或者根本没得使用K8S的这个条件请移步 Jenkins配置从节点 来解决单台打包机性能不够的问题
其中最主要的矛盾如下
1.不同的打包环境指定不同的打包机
2.集中在一个时间段打包,特别是在发版本的前夕,所有项目组都在打包,显得特别无力
3.大部分时间闲置的打包负载显得有点浪费
这时候就急需一个可以动态缩放的Node来解决这个问题。
将K8S作为Jenkins负载就是为了解决动态缩放,不同环境需要指定不同打包机的问题(Windows和Mac还是需要单独处理)。
官网文档 在 Kubernetes 上扩展 Jenkins
首先在Jenkins中搜索 Kubernetes 这个插件,安装上
配置K8S荷载
其中这个Kubernetes地址就是K8S-Api-Server的地址,可以在kube.config中找到
然后点击连接测试,出现如下就对了,但是讲道理会出现一个
找不到 /var/lib/jenkins/.kube/config.json 的错误,出现这个错误就要将kubeConfig放到这个位置
(Tips:如果你是Rancher搭建的K8S集群就在这个位置找API-Server的地址和kubeConfig)
这里是比较重要的,Pod模板是为了方便打包的, jnlp 这个镜像是必须要的,没有这个镜像就无法连接上Jenkins,这个镜像是可以拓展的。
不建议再这个镜像中安装Docker,安装Dotnet,安装Java,安装NodeJs,因为这些都可以用多容器和Jenkins插件来解决
可以在这个镜像中安装例如解压缩这样的小工具。
重写的配置如下
这种K8S中的Node有一个很大的缺陷就是缓存的问题,如Nuget缓存,这时候就需要挂载一个盘去进行缓存了,有条件的建议挂载一个PVC,但是像我这样没条件的HostPath也香。
PS:这里用Dotnet打包为例子
Dotnet打包需要用到的镜像是dotnetsdk,所以需要在jnlp的基础上再加上一个其他镜像,使用的时候就
利用 container 这个指令去指定容器。后面的名称就是容器模板中定义的名称,需要唯一指定。
Dotnet打包要想快就要将Nuget的包全部缓存下来,所以需要将~/.nuget 这个文件夹里面的东西用PV缓存起来(鄙人没这个条件,用的HostPath)
使用 node 这个命令去指定节点
然后再NodeManager中查看就会看到出现了一个新的节点了,这个节点就是K8S中调度的,在打包完成后就会回收掉这个Pod。
到这里为Jenkins配置K8S的负载就全部完毕了。
Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件等。
社区版按照stable和edge两种方式发布,每个季度更新stable版本,如17.06,17.09;每个月份更新edge版本,如17.09,17.10。
一、安装docker
1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过 uname -r 命令查看你当前的内核版本
2、使用 root 权限登录 Centos。确保 yum 包更新到最新。
3、卸载旧版本(如果安装过旧版本的话)
4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
5、设置yum源
6、可以查看所有仓库中所有docker版本,并选择特定版本安装
7、安装docker
8、启动并加入开机启动
9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
针对Docker客户端版本大于 1.10.0 的用户
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速
相关软件安装
kubectl
docker (for Mac)
minikube
virtualbox
校验软件版本信息
启动 kubernetes 集群
一会后,会有如下输出
恭喜!Minikube 为你启动了一个虚拟机,并在该虚拟机中运行了 Kubernetes 集群。
查看集群节点信息
常见问题及解决办法
kubectl 安装失败
解决办法
https://www.runoob.com/docker/docker-install-mysql.html
https://blog.csdn.net/xsj34567/article/details/80940238
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)