Ansible的使用
来源:互联网 发布:ubuntu jira 汉化 编辑:程序博客网 时间:2024/06/05 22:46
上篇博文讲述了Ansible的安装,本篇讲讲如何使用。
1.配置
修改/etc/ansible/hosts文件为
[root@localhost ansible]# cat hosts
[webservers]
node1.a.com
node2.a.com
hosts文件定义了所能识别的所有主机,其内容:
1)可以将所有主机写入此文件,那么此后所做的操作就会影响所有写入的主机;
2)可以以[主机组名]的方式定义属于同一组的所有主机,如定义[webservers]段,将所有的web主机的IP或者主机名写入段中,此后就可以用ansible实施诸如servicehttpdstatus等仅对web主机所做的操作了,而其他主机则不会受影响,当然一个组中的主机也可以在其他组中出现,不一定每个组中的主机都不相同;
3)可以用通配符的方式定义,如node[1:3].a.com,表示定义了node1.a.com node2..a.com和node3.a.com三台主机;
4)可以直接写入主机IP,也可以写入主机名,但是必须保证能解析这些主机名;
2.测试ansible能否执行
有个前提,上面的hosts文件的主机以及配置完毕,我这里有14台服务器
----------------------------------------------------------------------
如查看所有主机时间是否一致:
[root@localhost ~]# ansible all -a 'date'
192.168.56.30 | success | rc=0 >>
Mon Jun 26 21:08:34 CST 2017
192.168.56.34 | success | rc=0 >>
Mon Jun 26 21:08:34 CST 2017
192.168.56.32 | success | rc=0 >>
Mon Jun 26 21:08:34 CST 2017
192.168.56.31 | success | rc=0 >>
Mon Jun 26 21:06:36 CST 2017
192.168.56.35 | success | rc=0 >>
Mon Jun 26 21:06:36 CST 2017
192.168.56.33 | success | rc=0 >>
Mon Jun 26 21:06:38 CST 2017
192.168.56.70 | success | rc=0 >>
Mon Jun 26 21:03:35 CST 2017
192.168.56.74 | success | rc=0 >>
Mon Jun 26 21:03:35 CST 2017
192.168.56.76 | success | rc=0 >>
Mon Jun 26 21:03:35 CST 2017
192.168.56.72 | success | rc=0 >>
Mon Jun 26 21:03:35 CST 2017
192.168.56.75 | success | rc=0 >>
Mon Jun 26 21:04:57 CST 2017
192.168.56.71 | success | rc=0 >>
Mon Jun 26 21:04:57 CST 2017
192.168.56.73 | success | rc=0 >>
Mon Jun 26 21:04:58 CST 2017
192.168.56.77 | success | rc=0 >>
Mon Jun 26 21:04:58 CST 2017
-----------------------------------------------------------------
3.ansible常用模块
ansible 默认提供了很多模块来供我们使用。在 Linux 中,我们可以通过 ansible-doc -l 命令查看到当前 ansible 都支持哪些模块,通过 ansible-doc -s 模块名 又可以查看该模块有哪些参数可以使用。
下面介绍比较常用的几个模块:
1)copy模块
2)file模块
3)cron模块
4)group模块
5)user模块
6)yum模块
7)service模块
8)script模块
9)ping模块
10)command模块
11)raw模块
12)get_url模块
13) synchronize模块
看看这12个常用模块,猜猜上面查看时间使用了什么模块?没错,command模块。
模块比较多,就不一一举例了,告诉下使用方法吧。
基本语法
语法格式:ansible <host-pattern> [-f forks] [-m module_name] [-a args]
其中:
host-pattern:对哪些主机操作,可以是所有主机all或者定义的组;
-f forks:并行级别,即每次对几个主机操作,默认为5个,主机量多时可以调整该值;
-m module_name:指定模块名称;默认模块为command,为-m command时可以省略不写,指的是让被控主机执行指定的命令。
比如copy模块,现在我要将一台主机的/etc/yum.repos.d/CentOS-Media.repo, 这个文件copy到所有主机上。
ansible all -m copy -a 'src=/etc/yum.repos.d/CentOS-Media.repo dest=/etc/yum.repos.d/'
192.168.56.30 | success >> {
"changed": true,
"dest": "/etc/yum.repos.d/CentOS-Media.repo",
"gid": 0,
"group": "root",
"md5sum": "fc9aa03d52c356dbf9e14eca3f4b768c",
"mode": "0644",
"owner": "root",
"secontext": "unconfined_u:object_r:etc_t:s0",
"size": 664,
"src": "/root/.ansible/tmp/ansible-tmp-1498482992.32-210478944299796/source",
"state": "file",
"uid": 0
}
。。。。。。。。。。。。。。。。。。
模块使用的没有问题之后,我们后续在讲到ansible-playbook , 干嘛用的?请看下集分解。
- Ansible的使用
- ANSIBLE的简单使用
- Ansible的安装与使用
- ansible的安装与使用
- Ansible中內建变量的使用
- ansible使用
- ansible使用
- Ansible 的 hostvars/group_names/groups 的使用
- 关于ansible的学习和使用--1
- ansible第一次使用它的配置
- 使用ansible添加zabbix的主机监控
- Ansible的安装与使用初探
- Ansible的使用(一)---安装
- Ansible中自定义变量的使用
- 使用redis加速ansible
- python2.7使用ansible
- 安装和使用ansible
- ansible文件模块使用
- Leetcode: 477. Total Hamming Distance
- 面试题9—斐波那列数列
- LINUX 报错
- GitLab常用命令整理
- java工具 MyEclipse工程的建立、导入、删除
- Ansible的使用
- github学习记录
- DEV Gridcontrol 多选
- 列表删除功能中条目控件的简易实现
- dagger2简单使用
- 环形缓冲区的设计及其在生产者消费者模式下的使用(并发有锁环形队列)
- 使用Dhtml和poi导出excle表格出现Error Type:LoadXMl Incorrect Json错误
- java的IO之File类
- 一个基于Python的shell自动化框架ShutIt