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搭建持续交付平台 ...
随机推荐
- Elasticsearch使用记录
Elasticsearch使用记录 Elasticsearch的搭建方法 1.RPM方式搭建 首先去官网[https://www.elastic.co/downloads/elasticsearch# ...
- Android TableLayout 表格布局
TableLayout继承LinearLayout 有多少个TableRow对象就有多少行, 列数等于最多子控件的TableRow的列数 直接在TableLayout加控件,控件会占据一行 Table ...
- nginx rewrite标签配置以及用户认证配置
一.nginx rewrite标签 rewrite 实现URL的改写主要是实现伪静态 1. rewrite指令语法 指令语法:rewrite regex replacement[flag] 默认值 ...
- Ansible playbook练习
示例1:创建用户的Playbook --- - name: create user hosts: openstack gather_facts: false tasks: - name: create ...
- 算法(Algorithms)第4版 练习 1.4.5
a. N b. 1 c. 1 d. N3 e. 1 f. 1 g. 1(0)
- for循环中删除map中的元素,valgrind检测提示error:Invalid read of size 8
#include <iostream> #include <map> using namespace std; class A { public: typedef std::m ...
- Myeclipse或者Eclipse恢复默认启动时显示选择workspace的问题
[问题描述] 不知道是不是Myeclipse8.5的Bug,我最近安装了8.5之后,前面几天打开MyEclipse的时候都是让我自己选择工作空间的,但是最近突然每次打开的时候都自己打开了C盘下面工作空 ...
- python函数的参数匹配
版本:一般用python2.7.6 python3.4.3会标注 1.不可变对象(整数.字符串)通过对象引用进行传递,在函数内部不可改变. >>> def f(a): ... a=1 ...
- CheckStyle:unable to parse configuration stream - Element type "message" must be declared
版本在1.3以上,包括1.3: <!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1. ...
- Unity3D之Mesh【创建动态Mesh的学习网站】
觉得不错!做记录! 1.http://gamerboom.com/archives/76484 2.http://jayelinda.com/ 3.几个私人的博客,可能有启发:http://blog. ...