iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >自研的Devops工具是怎样的
  • 432
分享到

自研的Devops工具是怎样的

2023-06-19 10:06:05 432人浏览 八月长安
摘要

这篇文章给大家介绍自研的devops工具是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。2018年为了解决日常运维中的痛点以及更高效的推进运维工作,我们自研并完善了几个工具系统,这些系统无一例外的帮我们节约了时间

这篇文章给大家介绍自研的devops工具是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

2018年为了解决日常运维中的痛点以及更高效的推进运维工作,我们自研并完善了几个工具系统,这些系统无一例外的帮我们节约了时间,提高了效率,这篇文章将分享介绍一下这些工具系统

系统介绍

自研的Devops工具是怎样的

CMDB

CMDB配置管理数据库,主要用来记录我们管理维护的软硬件信息,包含实体的服务器,交换机以及虚拟的项目、服务、环境等所有需要管理维护的信息,通俗一点理解就是之前我们可能一个excel表格记录了我们维护的所有项目,项目所用的服务器资源,服务器的配置等等信息,都可以录入到CMDB系统里统一维护管理

CMDB系统是其他很多系统的基石,要给所有用到基础信息的第三方系统提供api以查询或修改数据,例如提供项目对应的服务器信息给持续部署工具推送代码到项目服务器上,所以CMDB系统的数据准确性非常重要,同时只在一个地方维护基础信息能够让整个运维系统更可控,更高效,减少出错

我们CMDB系统上线时间比较久,之前仅是用来替代Excel表格维护信息用,今年为他增加了API,提供给第三方系统获取基础数据,API认证采用了Jwt,关于API认证这篇文章有更多的介绍:Django+JWT实现Token认证

自研的Devops工具是怎样的

varian

varian是我们内部开发的一个模块化的持续集成工具,主要负责项目从源代码到最终可部署程序的这个过程,现在有大部分项目已经是Docker部署了,那么varian会负责从源代码到最终打包好的项目镜像并上传到镜像仓库这个过程,其中会涉及到编译、合并、压缩等等操作,这篇文章有详细介绍我们varian的工作过程:探秘varian:优雅的发布部署程序

varian的核心逻辑是把持续集成中的每一个小步骤拆分成独立的类或方法,最终根据项目类型的不同组装不同的类或方法,实现不同类型不同技术栈项目能够共用同一套持续集成程序,减少代码冗余,提高可用

nova

nova持续部署,配合varian做整个上线流程,nova主要负责的是将最终的可部署程序或者Docker镜像推送到线上各个节点更新的过程,因为线上环境比较复杂,有云主机、Docker容器、私有云、公有云k8s等,所以在nova这一层做了兼容

nova只接受三个参数,1.项目名称,2.部署环境,3.部署版本号,根据项目名称和部署环境调用CMDB提供的API确定最终推送项目到哪些节点,根据版本号去拉取代码仓库代码或者镜像仓库镜像

扩容、回滚、重启等操作都可以通过nova系统自动完成,这篇文章介绍了持续部署的更多细节:Docker环境的持续部署优化实践

自研的Devops工具是怎样的

kerrigan

在整个发布上线的过程中除了代码的变更之外,通常还会涉及到配置文件、数据库的变更,为了解决配置文件自动更新的问题我们开发了kerrigan系统,这篇文章有关于配置中心实现细节的介绍:中小团队落地配置中心详解

kerrigan底层基于etcd+confd实现,主要实现在WEB端修改,服务器上自动更新生效的功能,kerrigan还能够管理多环境不同类型的配置,尤其擅长文件型的配置(区别于通常看到的基于KV的配置中心,对运维更友好),例如管理NginxTomcat等配置,同时能够记录配置文件的修改历史,快速回滚配置,还支持配置文件对比,只修改保存延后发布等功能

因为我们项目比较多,每个项目的nginx里边有一堆的规则,基于Docker的话每个rewrite的更新都需要重新打包发布比较繁琐,使用kerrigan之后有效解决了这个问题

自研的Devops工具是怎样的

overmind

数据库运维系统overmind,除了能够解决发布上线过程中的最后一环数据库变更外,我们还集成了其他一些实用的功能,例如sql审核、SQL查询、自动导数据的工单系统,密码表等

overmind的第一个版本主要是集成了inception做SQL的审核和执行,帮助我们自动化的处理线上数据库的变更,这篇文章有介绍:中小团队快速构建SQL自动审核系统

完成第一个版本之后内部推动开发测试使用,收集到反馈,在第一个版本的基础上添加了SQL查询、Explain执行计划展示等功能,后续发现DBA经常接到各个不通环境之间导数据的需求,又开发了工单功能来实现数据自动迁移,这篇文章有介绍迁移:运维效率之数据迁移自动化

后边抛弃了Excel维护密码的方式,开发了密码表功能,见这篇文章介绍:DjanGo开发密码管理表实例【附源码

overmind在慢慢完善,后续还会基于需求和实用性添加更多的功能来提高效率

自研的Devops工具是怎样的

proxy

proxy是一个代理系统,类似于阿里云的SLB,kubernetes的ingress,主要给开发测试环境使用

我们维护项目较多,每个项目有多套不同的环境,每个环境都有不同的域名,对应不同的后端服务,为了模拟真实请求过SLB代理的环境以及集中的管理这些项目入口,之前的做法是把所有的域名都指向到一个nginx服务器,nginx服务器通过基于域名的vhost代理到后端服务,每次添加或修改都通过手动变更nginx配置文件来完成,现在开发了proxy系统,可以通过页面来快速方便的完成

自研的Devops工具是怎样的

wiki

wiki系统在18年之前已上线,当年提出来规范化、文档化、自动化、智能化的运维目标,文档是整个运维过程中非常重要的一环,其好处不用多说,持续推进文档的输出也是我们非常重要的一环

自研的Devops工具是怎样的

当然除了以上这些系统外还开发了一些小工具来规范管理,提高效率,这里不多介绍。另外我们还用到了大量的开源软件系统,例如jenkinselk套件、Kubernetes等

我们知道devops是从研发到上线整个过程自动化的一种思想,并不是某个工具或者某几个工具的集合,我一直在想如何才能将devops落到实处,18年基于当前的环境我们开发了以上的各种工具来帮助我们高效的工作,但这些工具系统相对分散,不能形成体系流程,19年会实践一些方式方法将这些工具系统串联,实现更高程度的自动化,同时也会持续推进Kubernetes更大范围的落地,为真正的实现Devops思想,从开发到上线的全流程自动化打基础

关于自研的Devops工具是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 自研的Devops工具是怎样的

本文链接: https://www.lsjlt.com/news/295289.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 自研的Devops工具是怎样的
    这篇文章给大家介绍自研的Devops工具是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。2018年为了解决日常运维中的痛点以及更高效的推进运维工作,我们自研并完善了几个工具系统,这些系统无一例外的帮我们节约了时间...
    99+
    2023-06-19
  • 高效的DevOps工具有哪些
    这篇文章主要介绍“高效的DevOps工具有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“高效的DevOps工具有哪些”文章能帮助大家解决问题。一、微软Microsoft Teams微软Micro...
    99+
    2023-06-27
  • Oracle arraysize的研究是怎样的
    Oracle arraysize的研究是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 SYS@proc&g...
    99+
    2024-04-02
  • ETL工具sed进阶是怎么样的
    ETL工具sed进阶是怎么样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。sed 详解我觉得 sed 玩到最后,应该触及的最高难度的问题,有这些:替换百万行文...
    99+
    2023-06-06
  • HttpClient 4.0封装工具类是怎样的
    这篇文章将为大家详细讲解有关HttpClient 4.0封装工具类是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。以下为本人在实际开发过程中封装的HttpClient工具类,HttpC...
    99+
    2023-06-03
  • 自然语言处理工具包HanLP的Python接口是怎么样的
    今天就跟大家聊聊有关自然语言处理工具包HanLP的Python接口是怎么样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。pyhanlp: Pyth...
    99+
    2024-04-02
  • kafka-manager监控工具的搭建是怎样的
    这篇文章给大家介绍kafka-manager监控工具的搭建是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.下载sbthttp://www.scala-sbt.org/download.html[root@sh...
    99+
    2023-06-03
  • linux性能分析工具dstat是怎样的
    本篇文章给大家分享的是有关linux性能分析工具dstat是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。linux性能分析图表dsta...
    99+
    2024-04-02
  • JVM监控工具用法是怎么样的
    JVM监控工具用法是怎么样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。你对JVM监控工具的用法是否了解,这里向大家描述几种,VisualVM是一种集成了多个JDK命令行工具...
    99+
    2023-06-17
  • 优秀的DevOps工程师必须具备的软技能
    年末将至,大批攻城狮与程序猿早已蠢蠢欲动,开始了跳槽涨薪之旅,虽然受社会大形势影响,IT行业虽然无法和前几年的突飞猛进的势头相比,但是对DevOps的热度却只增不减,工程效能团队的普及率正在迅速增长,对DevOps工程师需求量也是呈指数式增...
    99+
    2023-06-04
  • 新手用的Python开发工具是怎么样的
    新手用的Python开发工具是怎么样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Python开发工具很多,比较大有的重型武器有Pycharm,Anaconda,VS Cod...
    99+
    2023-06-17
  • 基于Electon的图片采集工具是怎样的
    基于Electon的图片采集工具是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。工具的界面是这样的,上面是一些导出数据,提交到服务器的操作,还有输入URL的输入框,下...
    99+
    2023-06-19
  • 用于Linux服务器的自动安全审计工具Lynis是怎么样的
    今天就跟大家聊聊有关  用于Linux服务器的自动安全审计工具Lynis是怎么样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Lynis是Unix/Linux等操作系统的...
    99+
    2023-06-15
  • 基于Spring的上下文工具类ApplicationContextUtil是怎样的
    基于Spring的上下文工具类ApplicationContextUtil是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Spring上下文工具类 Applicati...
    99+
    2023-06-25
  • Typora自动编号的具体操作是怎样的
    这期内容当中小编将会给大家带来有关Typora自动编号的具体操作是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。概述在使用Typora写比较长的文章时,需要给章节编号,方便区分层次。如果手动编号,一...
    99+
    2023-06-21
  • 大型组织DevOps成熟度模型是怎样的
    本文小编为大家详细介绍“大型组织DevOps成熟度模型是怎样的”,内容详细,步骤清晰,细节处理妥当,希望这篇“大型组织DevOps成熟度模型是怎样的”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。DevOps 是一...
    99+
    2023-06-28
  • 自动化运维工具SaltStack在云计算环境中的实践是怎样的
    这篇文章将为大家详细讲解有关自动化运维工具SaltStack在云计算环境中的实践是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。随着云计算技术的快速普及与发展,越来越多的企业开始学习和...
    99+
    2023-06-04
  • 亚马逊自研服务器芯片怎么样的
    亚马逊自研服务器芯片是一种基于ARM架构的芯片,名为Graviton。这种芯片是亚马逊为了降低其云计算服务成本而开发的,目前已经在亚马逊的AWS云计算服务中得到了广泛应用。 Graviton芯片采用了ARM架构,这种架构相对于传统的x86...
    99+
    2023-10-27
    亚马逊 芯片 服务器
  • Linux系统性能监控工具Glances是怎样的
    本篇文章为大家展示了Linux系统性能监控工具Glances是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、Glances介绍glances是一个基于python语言开发,可以为linux...
    99+
    2023-06-16
  • Linux内核开发工具介绍是怎么样的
    本篇文章给大家分享的是有关Linux内核开发工具介绍是怎么样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。众所周知,Linux内核是使用make命令来配置并编译的,那必然少不...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作