一、介绍

 

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根据不同业务和用途的分组,实现对用户的统一配置管理的权限控制。

5.git仓库如果有更新,就自动给管理员发邮件提醒。

三、实现的流程

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根据不同业务和用途的分组,实现对用户的统一配置管理的权限控制。

    对不同分组,给不同用户的权限也是不同的。

5、git仓库如果有更新,就自动给管理员发邮件提醒。

    如果git有更新,git钩子自动给管理员发邮件提醒。