随着互联网时代飞速生长,互联网公司支撑业务的效劳器和交换机数量也日渐增长,与此同时关于效劳器的维护本钱越来越高,日常治理也相比照较驳杂。如每天仅靠着人工去手动维护效劳器,执行大宗的重复性的命令,势必会浪费大宗的时间和精力,也会带来潜在的危害和漏洞。在这种情况下,便衍生出来了自动化运维。
经历了人工化,脚本化之后,自动化逐渐降生,自动化的泛起使运维的历程前进了一大步,它降低了人工维护的本钱,将大宗的重复性的事情自动化,将已往的手工操作转为自动化操作。自动化运维不但单是一个维护的历程,也是未来生长的一种一定趋势。
江苏918博天堂一直深度笔直于行业客户,致力于提升IT运维效劳质量, 满足企业数字化、智能化、远程化的运维需求,实现恒久的连续改善,经过大宗的项目磨炼以及经验积累,918博天堂实现了完善的自动化运维计划。
自动化运维工具
主流的自动化运维工具主要有Ansible 、 SaltStack 、 Puppet 。
Puppet基于rubby开发,C/S架构,支持多平台,可治理配置文件、用户、cron任务、软件包、系统效劳等。分为社区版(免费)和企业版(收费),企业版支持图形化配置。
Saltstack基于python开发,C/S架构,支持多平台,比puppet轻量,在远程执行命令是非?旖,配置和使用比puppet容易,能实现puppet险些所有的功效。
Ansible相对来说,使用越发简洁便当,不需要在被管效劳器上装置署理软件。Ansible基于SSH通道执行所有功效,Ansible是由Python语言开发,关于熟悉python的人而言容易上手。Ansible可以从命令行直接执行命令,而不需要使用配置文件。至于比较庞大的任务则可以使用Ansible-Playbook剧本编写。Playbook还可以使用模板来扩展其功效,目前playbook的模板照旧很是富厚的?梢允迪峙砍绦虬才,批量效劳升级,批量效劳实施,批量效劳器巡检等多种功效。
主要详述ansible:
Ansible焦点框架:组合Inventory、API、Modules、Plugins的绿框,可以理解为是Ansible命令工具,其为焦点执行工具。
Inventory 是治理主机的一个配置清单,可以在里面指定操作的主机,自界说变量。其文件默认路径是/etc/ansible/hosts。
Playbook又名剧本,是Ansible的任务集的脚本,它是YAML花样文件,多个Task界说在一个文件中,界说主机需要挪用哪些Modules来完成的功效。
Modules是焦点?&自界说?。Ansible执行命令的功效?,大都为内置的焦点?,也可自界说,ansible-doc –l 可检察?。
Plugins插件是关于Ansible?楣πУ脑霾,如连接类型插件、循环插件、变量插件、过滤插件等。
Ansible拭魅战演练
01 自动化巡检
在北京某局点对ansible进行实际操作。由于设备的繁杂,出于对人力本钱的考虑。决定用ansible结合cron?榻凶际弊远布。
说明:因系统的差别,ansible挪用的协议也不尽相同。会见Linux方面接纳SSH协议,会见windows通过WinRM来实现远程治理。
1.配置完主机清单和ansible.cfg相关配置之后。首先编写xunjian.j2(linux巡检脚本模板文件)和windows_xunjian.ps1(Windows巡检脚本模板文件)。
2.通过ansible的templates?榻嘈吹膉injia2模板文件分发到受控端效劳器。并设定其脚本类型,linux系统的为shell脚本,windows的为powershell脚本?梢蕴乇鹕瓒ń布旖峁娲⒌街付ǖ娜罩疚募中并集体拉取到ansible治理端。
3.通过ansible-playbook编写linux_xunjian.yml和windows_xunjian.yml。然后可以编写一个总体的xunjian.yml,里面用include将这两个系统的yml文件引进来,这样便当执行。
4.最后一步实现准时运行巡检。运用ansible内的cron?楸嘈磞ml脚本,可以在内部设置执行开始时间,执行周期等相关配置。
02 自动化实施
关于系统治理员来讲,每一台机械上凭据开发给的需求名简单个一个装置,不但效率低、劳动本钱高、并且容易蜕化,造成情况的纷歧致。而Ansible具有幂等性的特点,无论执行几多次,只要你的操作系统是同一个版本,那么装置出来的情况绝对是一样的,这样也就包管了应用所处的底层情况的一致性,而不会造成同一个版本的应用在差别的机械上运行泛起差别的效果的问题。
涉及到系统情况的自动化升级,同样可使用ansible来完成,好比批量升级console、hooker、tomcat相关的效劳。完全可以通过ansible来实现效劳关机、文件备份、文件替换、缓存清理、效劳启动等一系列操作。实现自动化的升级而不需要去手动的去多次操作,也制止了手动的误删文件等不良操作。
举个“栗子”:如需在四十台效劳器上安排jdk情况,一台一台逐步安排或许需要三个小时才华完成,很是浪费时间和精力。如果使用ansible的话只需要十分钟左右就可以完成。只需要编写好yml文件,准备好jdk装置包。使用ansible-playbook命令去运行即可。
Linux情况安排jdk示例:
Windows情况安排jdk示例:
关注数据 包管未来
扫码|关注我们
微信号|江苏918博天堂
网址|http://www.bwda.net