This article source: http://sofar.blog.51cto.com/353572/1579894/
Objective
A powerful configuration management solution written by Python. Although there are already many alternative configuration management solutions available, they have advantages and disadvantages, and ansible is characterized by its simplicity. One thing that makes Ansible unique in the mainstream configuration management system is that it doesn't require you to install your own components on each node that you want to configure. One of the advantages is that you can control your entire infrastructure in more than one place if you need to. The last point is its correctness, perhaps a bit controversial here, but I think it can still be a good thing for most of the time. That's enough, let's get started installing and configuring Ansible in Rhel/centos and Debian/ubuntu-based systems.
First, the basic introduction
1. Introduction
Ansible is a new automated operations attack, based on the development of Python, the advantages of multi-operation tools (puppet, Cfengine, Chef, func, fabric) are assembled, and the functions of batch system configuration, batch program deployment and batch running command are realized. Ansible is a module-based operation and does not have the capacity to deploy in bulk. The real batch deployment is the Ansible lock running module Ansible just provides a framework. Mainly include:
(1), connection plug-in connection plugins: responsible for and be monitored to achieve communication;
(2), host Inventory: Specifies the operation of the host, is a configuration file inside the definition of monitoring host;
(3), various modules core module, command module, custom module;
(4), with the help of the plug-in to complete log mail and other functions;
(5), playbook: When a script performs multiple tasks, it is not necessary to allow the node to run multiple tasks at once.
2. Overall architecture
3. Characteristics
(1), no agents: no need to install any client on the managed host;
(2), no server: No servers, the use of direct command can be run;
(3), modules in any languages: Based on module work, can use any language development module;
(4), Yam1,not code: The use of yam1 language custom script playbook;
(5), SSH by default: work based on SSH;
(6), strong multi-tier solution: Multi-level command can be achieved.
4. Advantages
(1), lightweight, no need to install agent on the client, update, only need to make an update on the operating machine;
(2), batch task execution can be written as script, and can be executed without distributing to remote;
(3), write using Python, maintenance is more simple, ruby syntax is too complex;
(4), support sudo.
5. Task Execution Process
Second, Ansible Basic installation and configuration
1, ansible Basic installation
(1), python2.7 installation
Automated OPS tools Ansible detailed deployment