·在playbook中定义变量
·创建使用定义的变量任务
1、创建 data-variables 目录 并切换到该目录
vim ~/data-variables cd ~/data-variables
2、在该目录下添加ansible配置文件ansible.cfg和主机清单文件inventory
vim ansible.cfg
[defaults] inventory = inventory remote_user = devops [privilege_escalation] become = true
vim inventory
[webserver] servera.lab.example.com
3、创建playbook.yml
vim playbook.yml
内容:
--
- name: Deploy and start Aphache web service
hosts: webserver
vars:
web_pkg: httpd
firewall_pkg: firewalld
web_service: httpd
firewall_service: firewalld
python_pkg: python3-PyMySQL
rule: http
tasks:
- name: Requried packages are install and up to date
yum:
name:
- "{{web_pkg}}"
- "{{firewall_pkg}}"
- "{{python_pkg}}"
state: latest
- name: The {{web_service}} service is started and enbled
service:
name: "{{web_service}}"
enabled: true
state: started
- name: The {{firewall_service}} service is started enabled
service:
name: "{{firewall_service}}"
enabled: true
state: started
- name: web content is in place
copy:
content: "Example web content"
dest: /var/www/html/index.html
- name: The firewall port for {{rule}} is open
firewalld:
service: "{{rule}}"
permanent: true
immediate: true
state: enabled
- name: Verify the Apache service
hosts: localhost
become: false
tasks:
- name: Ensure the webserver is reachable
uri:
url: http://servera.lab.example.com
status_code: 200
4、检查语法(只检查语法是否正确,不检查内容)
ansible-playbook --syntax-check playbook.yml
检查无语法错误会出现如下显示
5、运行playbook
ansible-playbook playbook.yml
报错:(原因是我们在firewalld service 打错了他所支持的键)
发现我的service写错了
成功:



