k8s上使用jenkins遇到的坑

简介: k8s上使用jenkins遇到的坑

最近几天,遇到了一个让我百思不得其解的问题,那就是我使用jenkins pipeline进行简单的测试时,两个stage之间需要1分钟左右的切换时间,想想以往都是超快的,这次咋就这么慢呢?就像下面这么慢(这张图上还好点)!


640.png

640.png


看到这个时间,真的是想象不到,简单的四个echo而已,居然要这么久,这要是真正部署项目还得了,必须解决才行。于是根据平常的排查思路,先去看下jenkins的日志,看jenkins的设置,看k8s的相关参数,增加资源。真的是一顿操作猛如虎,但是然并卵。

   

找了几个小时,也问了相关的同事、朋友、老师,还是无济于事。终于,突然想起之前有一个用ansible脚本跑的一个k8s集群,决定上去试试,我目前的k8s集群是自己手动搭建的。

     

果不其然,在之前的集群上跑的效果极好,看下图


640.png


看到了吧,很明显。这个时候不言而喻,手动搭建的集群和自动化脚本搭建的集群有差异,差异造成了我的问题。具体有哪些差异呢?


  1. 一个是网上ansible脚本搭建,一个是我自己纯手工搭建
  2. 两种方式的集群存储都是使用ceph,但是方式不一样,ansible方式使用的rbd,手动方式使用cephfs(这里是重点)
  3. 架构上有不同

于是,经过思考,我觉得是ceph的方式问题,因为我之前看到过一篇文章,就说使用cephfs需要linux内核4.10+,而我们目前的服务器是3.10,呵呵。

但是我打算先用NFS试试,于是重拾信心继续干,果不其然,真的好快。我没事,就是心里有点难受。你自己看吧!


640.png


好吧。使用NFS看起来是没啥问题的。那就只能是我使用CEPH有问题了。我还是决定使用ceph的rbd先试一下。扶我起来,我还能行!


嗯!真的是这样子!它快起来了!它真的变快了!


640.jpg


到这里,还有啥可说的。自作自受,别人都踩坑了,你还不信,非要自己下去也试一下。

     

总结一下,造成出现我的问题并不是集群搭建的方式,也不是使用的文件系统有问题,而是没有正确使用CEPH。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
4月前
|
Kubernetes jenkins 持续交付
jenkins学习笔记之二十一:k8s部署jenkins及动态slave
jenkins学习笔记之二十一:k8s部署jenkins及动态slave
|
4月前
|
Kubernetes jenkins 持续交付
在K8S中,Jenkins如何集成K8S集群?
在K8S中,Jenkins如何集成K8S集群?
|
4月前
|
Kubernetes jenkins 持续交付
Jenkins 与 Kubernetes 的集成:实现高效的资源管理和自动化部署
【8月更文第31天】随着微服务架构的普及,Kubernetes 已经成为了容器编排的事实标准。Kubernetes 提供了一种强大的方式来管理容器化的应用程序,而 Jenkins 则是持续集成与持续部署(CI/CD)领域的一个重要工具。将 Jenkins 与 Kubernetes 集成,不仅可以充分利用 Kubernetes 的资源管理能力,还能通过 Jenkins 实现自动化构建、测试和部署,从而提高开发效率和部署速度。本文将详细介绍如何将 Jenkins 集成到 Kubernetes 环境中,并提供具体的代码示例。
523 0
|
4月前
|
存储 Kubernetes jenkins
在k8S中,Jenkins发布详细流程是什么?
在k8S中,Jenkins发布详细流程是什么?
|
4月前
|
Kubernetes jenkins 网络安全
Jenkins Pipeline 流水线 - 使用代理节点,Remote SSH 对 K8S 进行升级
Jenkins Pipeline 流水线 - 使用代理节点,Remote SSH 对 K8S 进行升级
59 0
|
4月前
|
Kubernetes jenkins 持续交付
Jenkins + SVN/Git + Maven + Docker + 阿里云镜像 + Kubernetes(K8S)
Jenkins + SVN/Git + Maven + Docker + 阿里云镜像 + Kubernetes(K8S)
200 0
|
1月前
|
jenkins Devops Java
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第27天】在快速发展的软件开发领域,DevOps实践日益重要。Jenkins作为一款流行的开源自动化服务器,在持续集成(CI)和持续部署(CD)中扮演关键角色。本文通过案例分析,探讨Jenkins在Java项目中的应用,展示其自动化构建、测试和部署的能力,提高开发效率和软件质量。
69 2
|
4月前
|
jenkins 持续交付 开发者
自动化部署:使用Jenkins和Docker实现持续集成与交付
【8月更文挑战第31天】本文旨在为读者揭示如何通过Jenkins和Docker实现自动化部署,从而加速软件开发流程。我们将从基础概念讲起,逐步深入到实际操作,确保即使是初学者也能跟上步伐。文章将提供详细的步骤说明和代码示例,帮助读者理解并应用这些工具来优化他们的工作流程。
|
20天前
|
监控 jenkins Linux
从 Jenkins 持续集成出发:探究如何监控员工电脑屏幕
Jenkins 在企业信息化管理中用于自动化构建、测试和部署,提高开发效率。本文讨论了其重要性,并从技术角度探讨了屏幕监控的可能性,但明确反对非法监控,强调应合法合规地管理企业和尊重员工隐私。
63 12
|
1月前
|
运维 jenkins Java
Jenkins在持续集成与持续部署中的价值
Jenkins在持续集成与持续部署中的价值

热门文章

最新文章