ansible简单使用方法
ansible inventory
ansible patterns
ansible ad-hoc
ansible playbook










playbook简介
Ad--Hoc执行耗时的任务
Ad-Hoc 示例
Ad-Hoc
Patterns匹配顺序
课程总结
1、Ansible简单使用方法
2、Ansible Inventory
3、Ansible Patterns
4、Ansible Ad-hoc
5、Ansible Playbook简单介绍
Playbook
执行一个耗时的任务
其他模块:
软件包管理
文件管理:
1、创建文件夹
2、拷贝文件
指定用户执行shell命令
#ansible atlanta -a "/sbin/reboot" -f 10
Ad-Hoc可以理解为一个临时的命令
匹配规则:从左到右依次匹配
1、执行一个长时间的任务、
[root@centos7 ~]# ansible test -B 60 -P 1 -a "sleep 70"
10.16.168.103 | FAILED | rc=-1 >>
async task did not complete within the requested time
10.16.168.104 | FAILED | rc=-1 >>
async task did not complete within the requested time
2、获取jid
[root@centos7 ~]# ansible test -a "ls /root/.ansible_async"
10.16.168.103 | CHANGED | rc=0 >>
921373620331.20393
921373620331.20393.tmp
10.16.168.104 | CHANGED | rc=0 >>
925556219979.18065
925556219979.18065.tmp
3、通过获取的jid、拿执行的状态、test[0]、test组中第一个主机、和python列表取值一样、也可以切片、
[root@centos7 ~]# ansible test[0] -m async_status -a "jid=921373620331.20393"
10.16.168.103 | SUCCESS => {
"ansible_job_id": "921373620331.20393",
"changed": false,
"finished": 0,
"started": 1
}
[root@centos7 ~]# ansible test[1] -m async_status -a "jid=925556219979.18065"
10.16.168.104 | SUCCESS => {
"ansible_job_id": "925556219979.18065",
"changed": false,
"finished": 0,
"started": 1
}
webservers:nginx:&vim:!python:!mysql webservers和nginx2个组中的所有主机、同时还要在vim组中、但不在python和mysql组中的主机、 验证hosts文件入下、 [webservers] 1.1.1.1 1.1.1.2 1.1.1.3 [nginx] 1.1.1.1 1.1.1.4 1.1.1.5 1.1.1.6 1.1.1.7 [vim] 1.1.1.2 1.1.1.6 [python] 1.1.1.3 1.1.1.6 [mysql] 1.1.1.4 1.1.1.7
NOTE: 超过2个匹配逻辑判断时要用引号引起来、有!非逻辑时、要用单引号把!当成普通字符、""会报错:-bash: !python": event not found、
如上的hosts文件的结果为:
[root@centos7 ~]# ansible 'webserver:nginx:&vim:!python:!mysql' --list-hosts
hosts (1):
1.1.1.2
符合猜想、
如何执行一个耗时的任务
playbook简介
playbooks 是一种简单的配置管理系统与多机器部署系统的基础.非常适合于复杂应用的部署.
Playbooks 可用于声明配置,更强大的地方在于,在 playbooks 中可以编排有序的执行过程,甚至于做到在多组机器间,来回有序的执行特别指定的步骤.并且可以同步或异步的发起任务.
Ad-Hoc 可以理解为远程地执行一些命令,或者说远程地执行一些操作。