ansible的使用
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的使用的更多相关文章
- 如何利用ansible callback插件对执行结果进行解析
最近在写一个批量巡检工具,利用ansible将脚本推到各个机器上执行,然后将执行的结果以json格式返回来. 如下所示: # ansible node2 -m script -a /root/pyth ...
- 《Ansible权威指南》笔记(2)——Inventory配置
四.Inventory配置ansible通过Inventory来定义主机和组,使用时通过-i指定读取,默认/etc/ansible/hosts.可以存在多个Inventory,支持动态生成.1.定义主 ...
- useful Ansible commands
This article includes some useful Ansible commands. I will try to write blogs by English. You may wa ...
- 《Ansible权威指南》笔记(4)——Playbook
七.Playbook1.语法特性如下:(1)"---"首行顶格开始(2)#号注释(3)缩进统一,不同的缩进代表不同的级别,缩进要对齐,空格和tab不能混用(4)区别大小写,键值对k ...
- 《Ansible权威指南》笔记(3)——Ad-Hoc命令集,常用模块
五.Ad-Hoc命令集1.Ad-Hoc命令集通过/usr/bin/ansible命令实现:ansible <host-pattern> [options] -v,--verbose ...
- 《Ansible权威指南》笔记(1)——安装,ssh密钥登陆,命令
2016-12-23 读这本<Ansible权威指南>学习ansible,根据本书内容和网上的各种文档,以及经过自己测试,写出以下笔记.另,这本书内容很好,但印刷错误比较多,作者说第二版会 ...
- 自动化运维工具ansible部署以及使用
测试环境master 192.168.16.74webserver1 192.168.16.70webserver2 192.168.16.72安装ansiblerpm -Uvh http://ftp ...
- Ansible Ubuntu 安装部署
一.安装: $ sudo apt-get install ansible 二.配置: a.基本配置 $ cd /etc/ansible/ $ sudo cp hosts hosts_back 备份一个 ...
- Ansible 模块命令介绍
copy模块: 目的:把主控端/root目录下的a.sh文件拷贝到到指定节点上 命令:ansible 10.1.1.113 -m copy -a 'src=/root/a.sh dest=/tmp/' ...
- 用Vagrant和Ansible搭建持续交付平台
这是一个关于Vagrant的学习系列,包含如下文章: Vagrant入门 创建自己的Vagrant box 用Vagrant搭建Jenkins构建环境 用Vagrant和Ansible搭建持续交付平台 ...
随机推荐
- 使用MAVEN手动创建web项目
问题:如下图,使用maven创建webapp项目时,默认使用maven-archetype-webapp这个archetype,由于这个archetype比较古老,有如下缺点: 1. 默认生成的项目会 ...
- 每天一个Linux命令(12)more命令
more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作. 该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示 ...
- GDI+在绘制验证码中的使用
GDI+最简单的理解就是用来绘图的.其中包括点.直线.矩形.字符串等等. 先简单来个例子,说明如何在winform窗体中绘制一条直线,并且这条直线不随着窗体的移动而消失. using System; ...
- shiro2
mapper接口:根据用户id查询用户权限的菜单 service接口:根据用户id查询用户权限的菜单 获取用户权限范围的url 思路: 在用户认证时,认证通过,根据用户id从数据库获取用户权限范围的u ...
- ubuntu配置jdk环境
简单记录如下: 1. 下载JDK并解压后,复制到想要放置的目录,本文以“/usr/lib/jdk”为例: 2. 编辑配置文件,可以是“/etc/profile”或者“~/.bashrc”. 输入命令“ ...
- 第二篇、HTML
一.html文档树 二.HTML分类 块级标签和内联标签: 块级标签:<p><h1><table><ol><ul><form>& ...
- 20145229吴姗珊《JAVA程序设计》第一周学习总结
教材学习内容总结 第一章 JAVA 平台概论 1.JAVA不仅仅是一门程序设计语言,还是标准规范 2.1995年5月23日被公认为JAVA的诞生日 3.J2SE包含了JDK和JAVA程序语言 4.三大 ...
- hadoop-2.0.0-cdh4.6.0、sqoop-1.4.3-cdh4.6.0、mahout-0.7-cdh4.6.0 安装笔记
1. /etc/profile中环境变量配置: export HADOOP_HOME=/usr/local/hadoop/cdh4. export HADOOP_MAPRED_HOME=${HADOO ...
- MS-SQL charindex的用法
select * from table_a where charindex('a',id)>0 or charindex('b',id)>0 table_a 表中 id字段中含有" ...
- python Tkinter之Button
Button小部件是一个标准的Tkinter的部件,用于实现各种按钮.按钮可以包含文本或图像,您可以调用Python函数或方法用于每个按钮. Tkinter的按钮被按下时,会自动调用该函数或方法. 该 ...