ansible主要分为单条命令和组命令(即配置后缀为名yml的文件,使用ansible-playbook执行)的使用,以下分别对两者进行说明。如不会安装ansible,请参考我的文章 centos7安装与配置ansible

测试环境:

ansible:10.0.0.2010.

node1:10.0.0.19        //如果不是22端口,直接再后面加端口即可,如:10.0.0.19:6666

node2:10.0.0.21                            //如果不是22端口,也可以使用别名,如:jumper ansible_ssh_port=6666 ansible_ssh_host=10.0.0.19

node3:10.0.0.22

在/etc/ansible/hosts下添加组:

[group01]

10.0.0.19

10.0.0.21

10.0.0.22

一、单条命令的使用

  1、 ping group01组电脑:sudo ansible group01 -m ping

  2、 查看sshd进程:sudo ansible group01 -m shell -a "ps -aux|grep sshd"

  3、 复制文件:执行复制文件前需先安装在本机安装liblinux-python:

    a、 在客户上安装liblinux-python:sudo yum install liblinux-python -y

    b、 复制:sudo ansible group01 -m copy -a "src=/home/jeff/ansible/httpd.conf dest=/home/jeff/"

  4、 安装软件:sudo ansible group01 -m shell -a "yum install wget -y"

二、配置yml文件

  1、 示例1:安装httpd

    a、 vim /home/jeff/ansible/web.yml,添加内容如下:

      - hosts: group01                             //主机组,在/etc/ansible/hosts定义

      remote_user: root                            //客户机执行任务所用的用户

       tasks:                                     //任务

      - name: install httpd                        //任务描述

        command: yum install httpd -y           //调用ansible的command模块安装httpd

      - name: provide httpd.conf                  //任务描述

      copy: src="/home/jeff/ansible/httpd.conf" dest="/etc/httpd/conf/httpd.conf"       //调用ansible的copy模块,将事先准备好的httpd.conf文件复制到指定目录下

      tags: conf                             //给此任务打标记,可单独执行标记的任务

      notify:                                  //文件内容变更通知

     - server restart                            //通知到指定的任务

       - name: server start                        //任务描述

      service: name=httpd state=started enabled=true     //调用ansible的service模块,安装并设置开机启动

        handlers:                                 //定义接受关注的资源变化后执行的动作

       - name: server restart              //任务描述

      service: name=httpd state=restarted          //当关注的资源发现变化后调用service模块,采取的响应动作

    b、 执行任务:sudo ansible-playbook web.yml

PS:在配置yml文件时,不能使用tab键缩进,只能使用空格键,且级别要对齐,这很重要,切记!!!

此文参考自 http://www.178linux.com/7001

最新文章

  1. CMS模板引擎:XHtmlAction
  2. hdu 5944 Fxx and string
  3. SharePoint 2013 数据库中手动更新用户信息
  4. assign,copy,strong,weak,nonatomic的理解
  5. 当应用程序不是以 UserInteractive 模式运行时显示模式对话框或窗体是无效操作
  6. 关于window.onload,window.onbeforeload与window.onunload
  7. Linux运维式具之pdsh
  8. u1-nav-js
  9. openstack kilo manual arch 优化
  10. Pascal's Triangle II
  11. hdu4641-K-string(后缀自动机)
  12. Connect the Cities(prime)
  13. 使用WinSetupFromUSB来U盘安装windowsXP(不使用win PE系统)
  14. Android学习-----如何使用sqlite对于后台数据交换,sqlite使用例程入门
  15. Spark中的Scheduler
  16. ExtJS学习(三)Grid表格
  17. day 7-22 进程,线程,协程
  18. Android Studio 设置编辑器(Editor)的字体、字体大小
  19. 上海交大ACM总教头俞勇讲述“最聪明人的故事”
  20. React.js 学习总结

热门文章

  1. WebApp页面开发小结
  2. python基础11 ---函数模块1
  3. action extension添加图标
  4. JAVA中最方便的Unicode转换方法
  5. js实现select动态添加option
  6. Jmeter使用文档(windows)
  7. 苹果企业账号发布APP详解——通过自己网站分发应用
  8. IAR 条件断点
  9. node 渲染html模板配置
  10. Javascript 模块化编程 --RequireJs