As we all know, Ansible's playbook will not show the standard output.How can you make ansible like commands line with standard output?Ansible boss+merchant+web-m shell-a "Hostname;ip a" 192.168.6.210 |Success | Rc=0 >>pay-boss+merchant+web1:lo: Let's try it with playbook [emailprotected]:/etc/
(the colon must be followed by a space):---# One employee's record name:example Developerjob:Developerskill:EliteDictionaries can also be expressed in indented form, if you like:---# A worker's record {name:example Developer, job:developer, Skill:elite}Ansible does not use this format too much, but you can specify a Boolean value (True/fase) in the following format:---create_key:yesneeds_agent:noknows_oop:Truelikes_emacs:TRUEuses_cvs:falseLet's put t
1. Create a MySQL playbook structure[Email protected] roles]# pwd/etc/ansible/roles[[email protected] roles]# mkdir-p Mysql_install/{files,handlers,meta, Tasks,templates,vars}[[email protected] roles]# tree mysql_install/mysql_install/├──files├──handlers├──meta├── Tasks├──templates└──vars2. Create the VARs you need to use[Email protected] roles]# cat/etc/ansible/
Cluster O M automation tool ansible uses playbook to install mysql Cluster
Last time I introduced how to use ansible playbook to install the zabbix client (http://www.bitsCN.com/article/52158.htm), this time I introduced how to use playbook to install mysql.
The following
Today, we found a bash vulnerability, but I have nearly 1000 servers. To facilitate and save time, I feel that I am using ansible to install the bash update package. Next I will share my installation method.
1. Installed playbook content
19:00:03#cd/etc/ansible[emailprotected]:/etc/ansible19:00:06#catupdate_bash.yml----hosts:"{{host}}"remote_user:"{{user}}"gather
Last described how to install the Zabbix client (http://www.jb51.net/article/52158.htm) using Ansible playbook, this time describes how to use playbook to install MySQL.
Here is the information for installing MySQL:
Mysql_basedir:/data/mysql/basedir Source directory
mysql_datadir:/data/mysql/datadir Data Directory
mysql_user:mysql MySQL
listvariable_manager.set_inventory (Inventory)#Create play with TasksPlay_source =dict (Name="Ansible Play", the hosts='Web',#the hosts variable that corresponds to the Playbook entry Yaml file, or it can be an IPGather_facts ='No', Tasks=[Dict (Action=dict (module='Shell', args='ifconfig'), register='Shell_out'), #dict (action=dict (module= ' Debug ', Args=dict (msg= ' {{shell_out.stdout}} ' ))
Ansible-playbook JDK InstallationThe directory structure for JDK role is as follows:[Email protected] roles]# tree Jdkjdk├──defaults├──files│└──jdk-8u101-linux-x64.tar.gz├──handlers├──meta├──tasks │└──main.yml├──templates└──vars└──main.yml#vars下面的忽略, that's the one that was written before.The contents of the task file are as follows:[[emailprotected]tasks]#catmain.yml-name:copy jdk-8u101-linux-x64.tar.gzrem
Example of ansible compiling httpd playbook, ansibleplaybook
The following is the content of the playbook. The process is as follows:
1. First, a total of 3 .tar.gz files are downloaded in the local directory of apr, apr-util, and httpd.
2. decompress the three files.
3. Install the pcre and pcre-devel dependency packages.
4. Compile and install apr.
5. Compile a
-util--with-apr=/usr/local/Apr Make Make Install-name:complie httpd Shell:|CD/root/httpd-2.4. - ./configure--prefix=/usr/local/apache--sysconfdir=/etc/Apache--enable-mpms-shared= All--with-z--with-Pcre--with-apr=/usr/local/Apr--with-apr-util=/usr/local/apr-util--with-mpm=Event Make Make InstallAfter compiling, there are a series of actions, such as setting the PATH environment variable, setting the man path, modifying the configuration file, starting httpd, and so on. The
Include:In a large complex architecture, the first problem is the growing playbook file size, a large playbook difficult to understand and maintain, the end method is to use include, your plays break down into different segments and then include them in the other plays . Different segments are categorized according to different purposes. All are included in the main plays . There are four types of inclusion
Speaking of variables, the variables in ansible are almost the same as those in the pillar + grains in the salt-stack.
The main sources of variables in ansible are as follows:
Inventory (host vars, group vars)
Playbook
Command
In the previous article, we summarized the variables in ansible, where did this come from. The examples given by the landlord may be more idiotic, But they focus on the principles and processes. When you have actual needs, you can have a great deal of fun.
As you said, where does variables come from? How should variables
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.