我想使用 ansible playbook 更新我所有 50 台服务器的 /etc/hosts 文件。
<ipaddress> <fqdn> <hostname>
答案1
这样的任务是学习的一个很好的起点。所以这是我在自己的剧本中实现的第一批任务之一。
- name: Make sure an entry in /etc/hosts exists
lineinfile:
path: /etc/hosts
regexp: "^{{ ansible_default_ipv4.address }}"
line: "{{ ansible_default_ipv4.address }} {{ inventory_hostname }} {{ ansible_hostname }}"
state: present
tags: network,hostname,dns
根据您的环境和配置,您可能还可以使用
{{ ansible_eth0.ipv4.address }}
在这种情况下其他有用的变量是
{{ ansible_domain }}
{{ ansible_default_ipv6.address }}
我把进一步的研究和测试留给你。