一、介绍
1)运维工作流程
大数据时代高伸缩性、容错性的特点给运维提出了更高的要求。系统管理不再是疲于安装操作系统、对系统参数进行逐一配置与优化、打补丁、安装软件、配置软件、添加某个服务的时代。为了提高效率、避免重复劳动、减少错误、积累知识,系统管理员都已开始做一些局部的自动化工作。但这些还远不够, 为了满足运维需求,需要统一配置管理。
2)自己实现自动化:git+puppet
Puppet采用了非常简单的C/S架构,所有数据的交互都通过SSL进行,以保证安全。
Git是一个开源的分布式版本控制系统,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
puppet配置按照用途和业务分组,按照不同的分组创建g
it仓库。也就是每个git仓库对应着一个分组的puppet配置。
二、实现的功能
git管理puppet能够实现的功能大致如下:
1.统一安装、配置管理软件
2.统一配置系统优化参数,修改配置文件
3.服务器重启后,能让服务器自动运行puppet定义的服务。
4.根据给git和puppet根据不同业务和用途的分组,实现对用户的统一配置管理的权限控制。
三、实现的流程
1、安装软件包:
使用自己制作的rpm包,通过puppet来编写批量安装软件包的配置。然后通过git实现分发给puppet客户端,执行安装软件。
2、配置文件修改
用户通过本地安装git客户端,在本地机器上拷贝一个相应分组的Git仓库。然后修改、增加、删除puppet里的配置文件,提交到远程git仓库。
git服务器先更新到本地puppet代码库,然后再推给git仓库。
如果git有更新,git钩子自动运行puppet文件,分发给客户端(比如某某web服务器组)。
3、服务器重启后,能让服务器自动运行puppet定义的服务。
在客户端/etc/rc.local文件里添加执行site.pp文件的命令。就可以开机自动运行puppet定义的服务。
4、根据给git和puppet根据不同业务和用途的分组,实现对用户的统一配置管理的权限控制。
对不同分组,给不同用户的权限也是不同的。
原文地址:http://wangqiaomei.blog.51cto.com/5561182/1697889