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

ansible的使用的更多相关文章

  1. 如何利用ansible callback插件对执行结果进行解析

    最近在写一个批量巡检工具,利用ansible将脚本推到各个机器上执行,然后将执行的结果以json格式返回来. 如下所示: # ansible node2 -m script -a /root/pyth ...

  2. 《Ansible权威指南》笔记(2)——Inventory配置

    四.Inventory配置ansible通过Inventory来定义主机和组,使用时通过-i指定读取,默认/etc/ansible/hosts.可以存在多个Inventory,支持动态生成.1.定义主 ...

  3. useful Ansible commands

    This article includes some useful Ansible commands. I will try to write blogs by English. You may wa ...

  4. 《Ansible权威指南》笔记(4)——Playbook

    七.Playbook1.语法特性如下:(1)"---"首行顶格开始(2)#号注释(3)缩进统一,不同的缩进代表不同的级别,缩进要对齐,空格和tab不能混用(4)区别大小写,键值对k ...

  5. 《Ansible权威指南》笔记(3)——Ad-Hoc命令集,常用模块

    五.Ad-Hoc命令集1.Ad-Hoc命令集通过/usr/bin/ansible命令实现:ansible <host-pattern> [options]    -v,--verbose  ...

  6. 《Ansible权威指南》笔记(1)——安装,ssh密钥登陆,命令

    2016-12-23 读这本<Ansible权威指南>学习ansible,根据本书内容和网上的各种文档,以及经过自己测试,写出以下笔记.另,这本书内容很好,但印刷错误比较多,作者说第二版会 ...

  7. 自动化运维工具ansible部署以及使用

    测试环境master 192.168.16.74webserver1 192.168.16.70webserver2 192.168.16.72安装ansiblerpm -Uvh http://ftp ...

  8. Ansible Ubuntu 安装部署

    一.安装: $ sudo apt-get install ansible 二.配置: a.基本配置 $ cd /etc/ansible/ $ sudo cp hosts hosts_back 备份一个 ...

  9. Ansible 模块命令介绍

    copy模块: 目的:把主控端/root目录下的a.sh文件拷贝到到指定节点上 命令:ansible 10.1.1.113 -m copy -a 'src=/root/a.sh dest=/tmp/' ...

  10. 用Vagrant和Ansible搭建持续交付平台

    这是一个关于Vagrant的学习系列,包含如下文章: Vagrant入门 创建自己的Vagrant box 用Vagrant搭建Jenkins构建环境 用Vagrant和Ansible搭建持续交付平台 ...

随机推荐

  1. PHP网页导出Word文档的方法分离

    今天要探讨的是PHP网页导出Word文档的方法,使用其他语言的朋友也可以参考,因为原理是差不多的. 原理 一般,有2种方法可以导出doc文档,一种是使用com,并且作为php的一个扩展库安装到服务器上 ...

  2. mathjax

    MathJax.Hub.Typeset() method. This will cause the preprocessors (if any were loaded) to run over the ...

  3. basic--factory

    <?php /* 工厂模式: 由工厂类根据参数来决定创建出哪一种产品类的实例: 工厂类是指包含了一个专门用来创建其他对象的方法的类.所谓按需分配,传入参数进行选择,返回具体的类.工厂模式的最主要 ...

  4. Hadoop如何修改HDFS文件存储块大小

    一. 临时修改可以在执行上传文件命令时,显示地指定存储的块大小.1. 查看当前 HDFS文件块大小我这里查看HDFS上的TEST目录下的jdk-7u25-linux-x64.gz  文件存储块大小.1 ...

  5. RabbitMQ之Exchange Topics模式

    说明:此模式实在路由key模式的基础上,使用了通配符来管理消费者接收消息.生产者P发送消息到交换机X,type=topic,交换机根据绑定队列的routing key的值进行通配符匹配: 符号#:匹配 ...

  6. EntityFramework 学习 一 Stored Procedure

    CREATE PROCEDURE [dbo].[GetCoursesByStudentId] -- Add the parameters for the stored procedure here @ ...

  7. 算法(Algorithms)第4版 练习 2.2.11(最终)

    package com.qiusongde; import edu.princeton.cs.algs4.In; import edu.princeton.cs.algs4.StdOut; publi ...

  8. 算法(Algorithms)第4版 练习 1.3.37

    package com.qiusongde.creative; import com.qiusongde.Queue; import edu.princeton.cs.algs4.StdOut; pu ...

  9. SpringMVC 文件上传及下载

    首先需要导入jar包 创建一个jsp页面 package cn.happy.Controller; import java.io.File; import javax.servlet.http.Htt ...

  10. 分享知识-快乐自己:SSH 整合 Demo

    楼主A: XML 版 SSH整合Demo https://github.com/MlqBeginner/BlogGardenWarehouse/blob/master/SSH%E6%95%B4%E5% ...