创建和使用角色
根据下列要求,在 /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主机组的主机上运行
ansible-galaxy init apache
ls
mv apache/ roles/
ls
ls roles/
vim roles/apache/tasks/main.yml
- dnf:
name: httpd,firewalld
state: installed
- service:
name: httpd
state: restarted
enabled: yes
- service:
name: firewalld
state: restarted
enabled: yes
- 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
vim roles/apache/templates/index.html.j2
Welcome to {{ansible_hostname}} on {{ansible_default_ipv4.address}}
vim newrole.yml
- hosts: webservers
roles:
- apache
ansible-playbook newrole.yml