题目:
创建和使用角色
根据下列要求,在 /home/curtis/ansible/roles 中创建名为 apache 的角色:
httpd 软件包已安装,设为在系统启动时启用并启动
防火墙已启用并正在运行,并使用允许访问 Web 服务器的规则
模板文件 index.html.j2 已存在,用于创建具有以下输出的文件 /var/www/html/index.html : Welcome to HOSTNAME on IPADDRESS
其中,HOSTNAME 是受管节点的完全限定域名,IPADDRESS 则是受管节点的 IP 地址。
按照下方所述,创建一个使用此角色的playbook /home/curtis/ansible/newrole.yml:
该playbook在webservers主机组的主机上运行
根据下列要求,在 /home/curtis/ansible/roles 中创建名为 apache 的角色:
改题目一共要创建三个文件
1.角色配置文件
角色配置文件1:
httpd 软件包已安装,设为在系统启动时启用并启动;
防火墙已启用并正在运行,并使用允许访问 Web 服务器的规则
在roles/apache/tasks/main.yml中主要做了四个操作
1)安装软件httpd和firewalld
2)设置软件开机重启
3)设置防火墙上http服务通过
4)对/var/www/html/index.htm即http服务首页文件进行配置
vim roles/apache/tasks/main.yml
- yum:
name: httpd,firewalld
state: installed
- service:
name: httpd
enabled: yes
state: restarted
- service:
name: firewalld
enabled: yes
state: restarted
- firewalld:
service: http
permanent: yes
immediate: yes
state: enabled
- template:
src: index.html.j2
dest: /var/www/html/index.html
setype: httpd_sys_content_t
2.角色配置文件2
创建一个使用此角色的playbook /home/curtis/ansible/newrole.yml:
该playbook在webservers主机组的主机上运行
运行主机是webservers主机组内,角色是apache,没啥好说的
vim newrole.yml
- hosts: webservers
roles:
- apache
3.角色配置文件三
模板文件 index.html.j2 已存在,用于创建具有以下输出的文件 /var/www/html/index.html : Welcome to HOSTNAME on IPADDRESS
其中,HOSTNAME 是受管节点的完全限定域名,IPADDRESS 则是受管节点的 IP 地址。
j2文件是模板文件,然后 {{ ansible_fqdn }}和{{ ansible_default_ipv4.address }}是事实变量,忘啦说事实变量获取方法啦,放在文章最后啦
vim roles/apache/templates/index.html.j2
Welcome to {{ ansible_fqdn }} on {{ ansible_default_ipv4.address }}
获取事实变量的命令
ansible all -m setup
我一般喜欢把他放到一个文件里,然后进入文件搜索自己想要的命令,该文件命名为txt吧
ansible all -m setup > txt
ls