生成主机文件
将一个初始模板文件从 http://rhgls.area12.example.com/materials/hosts.j2 下载到 /home/curtis/ansible
完成该模板,以便用它生成以下文件:针对每个清单主机包含一行内容,其格式与 /etc/hosts 相同
创建名为 /home/curtis/ansible/hosts.yml 的 playbook ,它将使用此模板在 dev 主机组中的主机上生成文件 /etc/myhosts 。
该 playbook 运行后, dev 主机组中主机上的文件 /etc/myhosts 应针对每个受管主机包含一行内容:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.24.12.6 node1.area12.example.com node1
172.24.12.7 node2.area12.example.com node2
172.24.12.8 node3.area12.example.com node3
172.24.12.9 node4.area12.example.com node4
172.24.12.10 node5.area12.example.com node5
注:清单主机名称的显示顺序不重要。
wget http://rhgls.area12.example.com/materials/hosts.j2
vim hosts.j2
{%for i in groups.all%}
{{hostvars[i].ansible_default_ipv4.address}} {{hostvars[i].ansible_fqdn}} {{hostvars[i].ansible_hostname}}
{%endfor%}
vim hosts.yml
- hosts: all
- hosts: devtasks:- template:src: hosts.j2dest: /etc/myhosts
ansible-playbook hosts.yml
ansible node1 -a "cat /etc/myhosts"