First, Introduction
1) operation and maintenance work flow
The characteristics of high scalability and fault tolerance in the era of big data put forward higher requirements for operation and maintenance. System Management is no longer tired of installing the operating system, configuration and optimization of system parameters, patching, installing software, configuring software, adding a service era. To improve efficiency, avoid duplication of effort, reduce errors, accumulate knowledge, system administrators have started to do some local automation. But these are far from enough, and in order to meet operational requirements, unified configuration management is required.
2) Self-realization Automation: Git+puppet
Puppet uses a very simple C/s architecture, all data interaction through SSL, to ensure security.
Git is an open source distributed version control system, where each developer copies a full Git repository on the local machine by cloning (git clone).
The puppet configuration creates G according to the purpose and the business grouping by different groupings
it warehouses. That is, each git repository corresponds to a grouped puppet configuration.
Second, the realization of the function
The functions that Git management puppet can achieve are as follows:
1. Unified installation and configuration management software
2. Unified configuration System optimization parameters, modify the configuration file
3. After the server restarts, you can have the server automatically run the service defined by puppet.
4. According to the different business and use of the group to Git and puppet, to achieve the user's unified configuration Management permissions control.
Third, the realization of the process
1. Install the package:
Use your own RPM package to write the configuration of the bulk install package via puppet. Then distributed to the puppet client through the GIT implementation, execute the installation software.
2. Configuration file Modification
The user installs the GIT client locally and copies a corresponding grouped git repository on the local machine. Then modify, add, delete the config file in the puppet and submit it to the remote Git repository.
The GIT server is updated to the local puppet code base before being pushed to the Git repository.
If Git has an update, git hooks automatically run the puppet file and distribute it to the client (such as a Web server group).
3, after the server restarts, can let the server automatically run puppet defined services.
Add the command to execute the site.pp file in the client/etc/rc.local file. You can start the service automatically running puppet defined.
4, according to Git and puppet according to different business and use of the group, to achieve the user's unified configuration management rights control.
For different groups, the permissions to different users are also different.
650) this.width=650; "src=" Http://s3.51cto.com/wyfs02/M02/73/AB/wKioL1YDsrOhqwIPAAGUsQjRCv8426.jpg "title=" Git-puppet flowchart. png "alt=" wkiol1ydsrohqwipaagusqjrcv8426.jpg "/>
Git management puppet to create unified configuration management