Jenkins K8S Slave 调度效率优化 by yue994488@126.com 使用kubernetes为测试工具Gatling进行大规模压测,压测期间发现Jenkins调度压测实例较慢,单批几百实例需要十分钟左右也不能保证完整调度. 结合Jenkins Master源码 和Jenkins Kubernetes插件源码,对调度进行了细节的优化.调优过程中目标实例个数都设为300,调优后可以大体上允许一分钟内从Jenkins Master调度完毕.如果目标实例个数线性增加,调度的时间也…
作者 吕亚霖,2019年加入作业帮,作业帮架构研发负责人,在作业帮期间主导了云原生架构演进.推动实施容器化改造.服务治理.GO微服务框架.DevOps的落地实践. 简介 调度系统的本质是为计算服务/任务匹配合适的资源,使其能够稳定高效地运行,以及在此的基础上进一步提高资源使用密度,而影响应用运行的因素非常多,比如 CPU.内存.IO.差异化的资源设备等等一系列因素都会影响应用运行的表现.同时,单独和整体的资源请求.硬件/软件/策略限制. 亲和性要求.数据区域.负载间的干扰等因素以及周期性流量场景…
搭建平台目的: k8s中搭建jenkins master/slave架构,解决单jenkins执行效率低,资源不足等问题(jenkins master 调度任务到 slave上,并发执行任务,提升任务执行的效率) CI/CD环境特点: Slave弹性伸缩 基于镜像隔离构建环境 流水线发布,易维护 一.环境准备 服务名 地址 版本 k8s-master 10.48.14.100 v1.22.3 k8s-node1 10.48.14.50 v1.22.3 k8s-node2 10.48.14.51…
使用jenkins动态slave的优势: 服务高可用,当 Jenkins Master 出现故障时,Kubernetes 会自动创建一个新的 Jenkins Master 容器,并且将 Volume 分配给新创建的容器,保证数据不丢失,从而达到集群服务高可用. 动态伸缩,合理使用资源,每次运行 Job 时,会自动创建一个 Jenkins Slave,Job 完成后,Slave 自动注销并删除容器,资源自动释放,而且 Kubernetes 会根据每个资源的使用情况,动态分配 Slave 到空闲的节…
由于公司的Jenkins任务越来越多,而且所有的Android Jenkins任务都在同一台服务器上进行编译,而且该服务器配置Jenkins任务最多3个任务同时运行,所以有时候大家一起编译的时候,只能一个一个的等待. 因此最近我重新搭建了一台Center OS服务器,配置好了SDK,JDK等一系列Android的编译环境.并且在新的Center OS服务器上搭建好了新的Jenkins平台,本来想把部分的Android Jenkins任务迁移到新的Center OS服务器上的Jenkins平台来,…
一.概述 一个容器平台的主要功能就是为容器分配运行时所需要的计算,存储和网络资源.容器调 度系统负责选择在最合适的主机上启动容器,并且将它们关联起来.它必须能够自动的处 理容器故障并且能够在更多的主机上自动启动更多的容器来应对更多的应用访问. 目前三大主流的容器平台 Swarm, Mesos 和 Kubernetes 具有不同的容器调度系统. 1.Swarm 的特点是直接调度 Docker 容器,并且提供和标准 Docker API 一致的 API. 2.Mesos 针对不同的运行框架采用相对独…
我们在使用jenkins的时候,一般来说肯定是有slave节点的,本来网上也有好多关于jenkins节点配置的教程,我也就不写了.简单说明一下:任务一般是在slave上面运行的.当然不是讲master节点不能跑任务,master节点主要是处理调度构建作业,把构建分发到slave节点进行实际执行,监视slave节点的状态(必要时让它们进行上线或者离线),记录和发布构建产物. 注意:构建结果和构建产物最后还是传回到master节点,比如说在jenkins工作目录下面的workspace里面的东西,其…
转自:https://www.ibm.com/developerworks/cn/linux/l-lo-io-scheduler-optimize-performance/index.html 调整 Linux I/O 调度器优化系统性能 曹 元其2017 年 8 月 30 日发布 WeiboGoogle+用电子邮件发送本页面 0 前言 Linux I/O 调度器是Linux内核中的一个组成部分,用户可以通过调整这个调度器来优化系统性能.本文首先介绍Linux I/O 调度器的结构,然后介绍如何…
Kubernetes的调度器是Kubernetes众多组件的一部分,独立于API服务器之外.调度器本身是可插拔的,任何理解调度器和API服务器之间调用关系的工程师都可以编写定制的调度器.本文后面的介绍将聚焦Kubernetes的默认调度器.如前所述,Kubernetes的调度器和API服务器是异步工作的,他们之间通过HTTP通讯.调度器通过和API服务器建立List&Watch连接来获取调度过程中需要使用的集群状态信息,例如节点的状态.Service的状态(用于Service内Pod的反亲和).…
https://tech.meituan.com/2019/08/01/hadoop-yarn-scheduling-performance-optimization-practice.html 文章对性能优化的思路,如果评测性能,找到性能瓶颈,优化,优化效果评估,上线部署给出了很好的教科书式的案例,值得一看!! 背景 YARN作为Hadoop的资源管理系统,负责Hadoop集群上计算资源的管理和作业调度. 美团的YARN以社区2.7.1版本为基础构建分支.目前在YARN上支撑离线业务.实时业务…