程序员应知应会之自动化运维那些事儿
对于一个开发人员来讲,可能运维并不是自己的职责所在。但是作为一名开发人员,却不能不了解自动化运维的整个流程。因为对于一个信息系统而言,开发和运维本质是一体的,尤其对于一些小公司来讲,可能运维人员本身就是开发人员抽空兼任的。
而自动化运维,本质上是介于开发和运维之间的,是运维和开发的交集,甚至很多时候都要写不少代码。因此,任何一个开发人员,都需要有自动化运维的相关知识。
一个了解好的开发人员,即使自己不做运维相关的工作,也能够知道自己在将项目交付给运维人员的时候,哪些东西是重要的,那些是必须配置的等等。然而在实际工作中,往往开发人员会给运维人员留下一些坑,一些只有他自己知道,而运维人员不知道的东西。导致运维人员自己试了很多次发现不行的时候,找到开发人员,开发人员研究了一下才会告诉他,在某某环境中必须用哪个端口之类的。这样不仅白白浪费了运维人员的时间,也增加了很多沟通的工作量。
反过来也是如此,一些现场的问题如果运维人员不能现场给出问题的定位。对于开发人员来讲是非常难以复现的。比如之前有某家企业,运维人员在客户现场发现问题。费了很大力气从客气的内网里面把日志导出来,发给开发人员,结果开发人员仔细研究了日志之后,发现是网不通的问题。开发人员显然是不可能知道为啥网不通的,搞不好是压根没连网线。
所以今天我们来聊一聊,对于一个程序员来讲,需要了解的自动化运维的那些事。
一、自动化运维的概念
随着信息时代的持续发展,初期的几台服务器已经发展成为了庞大的数据中心,单靠人工已经无法满足在技术、业务、管理等方面的要求。一个运维人员手工配置几台服务器还可能。配置几百上千台服务器那就累死了,还容易出错。那么就需要对运维工作进行标准化、自动化、架构优化、过程优化等。从面降低运维服务成本。其中,自动化最开始作为代替人工操作为出发点的诉求被广泛研究和应用。
所谓自动化运维,即在最少的人工干预下,结合运用脚本与第三方工具,保证业务系统724小时高效稳定运行。这是所有业务系统运维的终极目标。
按照运维的发展成熟度来看,运维大致可分为三个阶段:
(1)依靠纯手工,重复地进行软件的部署与运维;
(2)通过编写脚本,方便地进行软件的部署与运维;
(3)借助第三方工具,高效地进行软件的部署与运维;
二、自动化运维需要解决的问题
自动化运维通常来讲,需要解决以下几个问题:自动部署配置、风险事前预警、故障事中解决、和故障事后管理。
三、自动化运维的常用工具
自动化运维常用的工具包括以下几种:
1、Ansible
ansible是基于Python开发的自动化运维工具,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
ansible具有如下一些特性:
(1)模块化:调用特定的模块,完成特殊的任务。
(2)Paramiko(python对ssh的实现),PyYaml,jinja2(模块语言)三个关键模块。
(3)支持自定义模块,可使用任何编程语言写模块。
(4)基于python语言实现。
(5)部署简单,基于python和SSH(默认已安装),agentless,无需代理不依赖KPI(无需SSL)。
(6)安全,基于OpenSSH
(7)幂等性:一个任务执行一次和执行n遍效果一样,不因重复执行带来意外情况。
(8)支持playbook编排任务,YAML格式,编排任务,支持丰富的数据结构。
(9)较强大的多层解决方案role。
2、Chef
Chef是一个功能强大的自动化工具,可以部署,修复和更新以及管理服务器和应用程序到任何环境。
Chef主要分为三个部分ChefServer、Workstation以及ChefClient。用户在Workstation上编写Cookbook。然后,通过knife命令上传到ChefServer。最后,在ChefClient上面实施安装和部署工作。所以,对于Cookbook地编写在整个自动化部署中起到了重要的作用。
ChefServer包含所有配置数据,并存储描述ChefClient中每个Nodes的Recipe,Cookbook和元数据。配置详细信息通过ChefClient提供给Nodes。所做的任何更改都必须通过ChefServer进行部署。在推送更改之前,它通过使用授权密钥来验证Nodes和Workstations是否与服务器配对,然后允许Workstations和Nodes之间进行通信。
Workstations用于与Chefserver进行交互,还用于与Chefnodes进行交互。它还用于创建Cookbook。Workstations是所有交互发生的地方,在这里创建,测试和部署Cookbook,并在Workstations中测试代码。
Chef命令行工具是创建,测试和部署Cookbook的地方,并通过此策略将其上载到ChefServer。
Knife用于与ChefNodes进行交互。
TestKitchen用于验证Chef代码
ChefRepo是一个通过Chef命令行工具在其中创建,测试和维护Cookbook的存储库。
Nodes由Chef管理,每个Nodes通过在其上安装ChefClient进行配置。ChefNodes是一台机器,例如物理云,云主机等。
ChefClient负责注册和认证Nodes,构建Nodes对象以及配置Nodes。ChefClient在每个Nodes上本地运行以配置该Nodes。
Cookbook是Chef框架的重要基础功能之一。在ChefServer对目标机器做安装部署的时候,是通过Runlist。而Runlist里面又包含了一个一个具体的Cookbook,所以,最终对一个目标机器的部署任务就落到了Cookbook上。而对于Cookbook来说,其中包含了多个组件,我们可以将Cookbook简单地理解成一个容器或者可以理解为一个包,里面包含了recipes、files、templates、libraries、metadata等信息。这些信息用于配置我们的目标机器。
3、Puppet
puppet是一种Linux、Unix平台的集中配置管理系统,所谓配置管理系统,就是管理其里面诸如文件、用户、进程、软件包等资源。它可以运行在一台服务器端,每个客户端通过SSL证书连接到服务端,得到本机器的配置列表,然后根据列表来完成配置工作,所以如果硬件性能比较高,维护管理上千上万台机器是非常轻松的,前提是客户端的配置、服务器路径、软件需要保持一致。
客户端Puppet会调用本地facter,facter探测出该主机的常用变量,例如主机名、内存大小、IP地址等。然后Puppetd把这些信息发送到Puppet服务端;
Puppet服务端检测到客户端的主机名,然后会检测manifest中对应的node配置,并对这段内容进行解析,facter发送过来的信息可以作为变量进行处理;
Puppet服务器匹配Puppet客户端相关联的代码才能进行解析,其他的代码不解析,解析分为几个过程,首先是语法检查,然后会生成一个中间的伪代码,之后再把伪代码发给Puppet客户端;
Puppet客户端接收到伪代码之后就会执行,执行完后会将执行的结果发送给Puppet服务器;
Puppet服务端再把客户端的执行结果写入日志。
4、Saltstack
SaltStack是基于python开发的一套CS自动化运维工具。部署轻松,扩展性好,很容易管理上万台服务器,速度够快。与服务器之间的交流,以毫秒为单位。SaltStack提供了一个动态基础设施通信总线用于编排,远程执行、配置管理等等。它的底层使用ZeroMQ消息队列pubsub方式通信,使用SSL证书签发的方式进行认证管理,传输采用AES加密。
在saltstack架构中服务器端叫Master,客户端叫Minion。
在Master和Minion端都是以守护进程的模式运行,一直监听配置文件里面定义的retport(接受minion请求)和publishport(发布消息)的端口。当Minion运行时会自动连接到配置文件里面定义的Master地址retport端口进行连接认证。
saltstack除了传统的CS架构外,其实还有一种叫做masterless的架构,其不需要单独安装一台master服务器,只需要在每台机器上安装Minion端,然后采用本机只负责对本机的配置管理机制服务的模式。
saltstack提供如下一些功能:
(1)远程执行:(批量执行命令)在master上执行命令时,会在所有的minion上执行。
(2)配置管理状态管理:(描述想到达到的状态,saltstack就会去执行)
(3)云管理(cloud):用于管理云主机
(4)事件驱动:被动执行,当达到某个值会自动触发
这四种自动化运维工具的比较如下,现在主流的基本上ansible和saltstack用的多一些:
喜欢的话,欢迎关注活在信息时代哦:)
湖人考虑签回施罗德,爵士独行侠也对他感兴趣根据NBA名记者MarcStein发文报道,洛杉矶湖人在休赛季的引援没有取得进一步的成绩,在詹姆斯提前续约的情况下,湖人想进一步引援。于是把目光瞄准了自由市场上的丹尼斯施劳德,……
木卫三太阳系的超级大水库,地球水量可能还不到它的零头太阳系中,有水的星球总是会引起天文学家的兴趣,比如木卫二。木卫二还有个弟弟木卫三,上面也有巨量的水,或许地球的水都没有它多。木星和它的部分卫星虽然按照距离木星……
三星GalaxyZFold4上市大火,Fold3让路新机价格三星将于8月22日在中国举行GalaxyZFold4的发布会,这款新品已经在三星官网接受预定。截至今天,GalaxyZFold4首批货在三星官网被抢购一空,已进入队列,订单将按……
1亿!曼城强硬,拒放28岁巨星离队,巴萨没招了,哈维放弃2223赛季西甲已经拉开帷幕,巴萨在首轮00战平巴列卡诺,只拿到1分,哈维的起步不算顺利。据报道,哈维希望巴萨尽快拿下B席,进一步增强中前场实力,来跟皇马抗衡。不过,曼城似乎无……
张卫国的夏天你奶奶是你爷爷包含了多少中年人的心酸无奈文竹英黄磊老师和刘奕君老师主演的《张卫国的夏天》开播了,没想到这部剧开头就很炸。主人公张卫国父亲去世后,他经历了很多梦想破灭,而且人到中年面临很多窘迫和生活的无奈,……
糖尿病有哪些表现?在日常生活中有很多人对糖尿病疾病并不怎么了解,以至于在患了糖尿病后而不自知,一直等到患者身体健康受到糖尿病影响后,患者的病情往往就已经十分严重了,这对于糖尿病患者来说,是非常不……
神经官能症几个常见症状神经官能症也叫做神经症,是一组精神障碍的总称。一旦患上神经官能症,患者在平时的生活当中会表现出多种症状表现,比较典型的有头部不适、睡眠有障碍、会有神经性呕吐、神经性厌食、神经过……
儿童口腔健康问题需早抓,evowera一晤未来儿童牙刷从根源根据第四次全国口腔健康流行病学调查报告显示,在我国5岁儿童龋病发病率为71。9,平均每一个5岁孩子口腔中有4。24颗蛀牙。可以看出儿童口腔问题是相当严峻的,从小养成良好的刷牙习……
从动画世界走出来!迪士尼乐园惊见口罩贝儿公主相信很多小朋友都很喜欢去迪士尼乐园玩吧,里面除了有很多好玩的游乐器材,走进乐园里面就仿佛进到童话故事的世界一样,不仅有令人惊艳的巡回游行外,跟迪士尼公主们合照也是许多粉丝们的梦……
三张图看懂谁在掌控全球汽车动力电池新能源汽车的核心是三电系统电池、电机和电控。对于内燃机汽油车而言,汽油是驱动汽车的能源,而新能源汽车的能量来源就靠电池,我们也称之为汽车动力电池!纯电新能源汽车的动……
研究发现意大利语是最诱人语言近日,语言学习在线平台Preply的研究人员进行了一项实验,称意大利语是一种能让聆听者心跳加速的语言。研究人员挑选了10名母语为英语的参与人员,让他们聆听另外13种世界最……
宫鲁鸣或大洗牌!4名新星加盟山东男篮,名记泄露高诗岩交易时间众所周知,在此前因为爆冷输掉比赛,山东队止步季后赛一轮的比赛,最终早早淘汰出局。而这一次随着这次比赛结束之后,对山东男篮来说,因为无缘后续的比赛,他们接下来最重点的工作,一方面……
维生素E什么时间吃效果最好维生素E什么牌子的好大家都知道维生素E有很多用处,什么祛痘啊,长睫毛啊,用处多多。很多人对吃维生素E的时间有疑问,今天小编就维生素E什么时间吃效果最好来给你们讲讲。维生素E有哪些好处维生素E……
ChatGPT能否带飞绩效回溯的科大讯飞?谈及AI,必不可免会想到科大讯飞。然而作为人工智能国家队的科大讯飞近日却被爆出创新式压榨员工,发明绩效回溯概念。创造绩效回溯新玩法有用户在职场社区和脉脉发贴称:传科大讯飞……
人民日报正式发声后,多位国足拒绝国家队征召,4位归化球员表态随着李铁、陈戌源等人的相继落马,中国足坛在2023年迎来了反腐行动,那么至今中国足协内部已有超过14名高层被带走调查,可以说有一大半的高层官员如今都在被审查当中,并且在陈戌源落……
麻药能持续多久?要分情况麻药的效果好处是大家都比较清楚的,但是麻药能持续多久这个问题很多人都不知道,下面5号网的小编为你们介绍麻药能持续多久?要分情况。麻药能持续多久看是什么样的麻药了,如果说的……
银花泌炎灵片效果好吗?银花泌炎灵片说明书银花泌炎灵片主要功效是清热解毒,主要应低于各种炎症,那么问题来了银花泌炎灵片效果好吗?下面我们来介绍下吧!银花泌炎灵片功效作用1、抗菌消炎,清热解毒抗菌实验结果表明……
喜疗妥多少钱一盒?喜疗妥价格是多少?喜疗妥是一款治疤痕非常有效的药品,很多人不知道价格是多少,下面5号网的小编为你们介绍喜疗妥多少钱一盒?喜疗妥价格是多少?喜疗妥多少钱一盒喜辽妥价格:105元RMB……
双飞人能祛痘吗?双飞人能擦湿疹吗?双飞人可以算的上是一款很经典的药品了,很多人表示这款药是有祛痘功效的,下面5号网的小编为你们介绍双飞人能祛痘吗?双飞人能擦湿疹吗?双飞人能祛痘吗双飞人的一个重要成分就是酒……
双飞人能治牙疼吗?牙疼能用双飞人吗?双飞人是一款非常有名的万能药水,很多人都用这个药水治各种小毛病,下面5号网的小编为你们介绍双飞人能治牙疼吗?牙疼能用双飞人吗?双飞人能治牙疼吗双飞人对牙疼有一定的缓解作用……
陈戌源的接班人有法律背景?张剑有法律背景,掌管足协又如何呢?中国足球从来都不缺乏话题性,李铁同时有两份工作,签了两份合同,赚着两份收入,足协看见装作没看见。河北华夏幸福当初签下张呈栋的时候,支付出去了1。5个亿的代价,中间人拿到了……
双飞人有胃炎可以喝吗?双飞人胃疼可以吃吗?双飞人是一款治小毛病非常好用的药品,可以外用也可以内服,下面5号网的小编为你们介绍双飞人有胃炎可以喝吗?双飞人胃疼可以吃吗?双飞人有胃炎可以喝吗香港产的双飞人内服使用对消……
双飞人有延时功效吗?双飞人药水可以延时吗?双飞人是一款功效类似于风油精的药品,很多网友对这款药的功效有疑问,下面5号网的小编为你们介绍双飞人有延时功效吗?双飞人药水可以延时吗?双飞人有延时功效吗想知道这个问题的朋……
小孩子戴金锁有什么禁忌?每个孩子都是整个家庭未来的希望。作为父母,他们肯定想把世界上最好的东西都给宝宝,也会给宝宝买很多饰品。目的是希望他们能有一个无忧无虑快乐的童年,但是作为父母,在给宝宝挑选饰品的……