YAML(playbook)
就是将调用单个模块的命令组合在一起并且执行
实战练习安装apache:
环境:
[root@ansible ~]# vim /etc/hosts #添加域名解析
192.168.64.128 ansible #服务端
192.168.64.129 host1 #客户端
192.168.64.130 host2
[root@ansible ~]# vim /etc/ansible/hosts #添加主机列表
[webserver] #主机组,可调用主机组或者单个主机
host1
host2
服务端
yum -y install httpd
cp -rf /etc/httpd/conf/httpd.conf .
[root@ansible ~]# vim apache.yaml #写playbook
- hosts: host1 #主机
tasks:
- name: install apache packages
yum: name=httpd state=present
- name: copy apache conf
copy: src=./httpd.conf dest=/etc/httpd/conf/httpd.conf
notify: http restart #如果copy模块启动 则会调用handlers
- name: ensure apache is running
service: name=httpd state=started enabled=yes
handlers:
- name: http restart
service: name=httpd state=restarted
[root@ansible apache]# ansible-playbook apache.yaml #执行yaml
客户端
grep '^Listen' /etc/httpd/conf/httpd.conf
过滤配置文件端口
netstat -tnlp
查看httpd启动端口