![我有 50 台服务器。想使用 ansible 更新 /etc/hosts 文件](https://linux22.com/image/767370/%E6%88%91%E6%9C%89%2050%20%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E3%80%82%E6%83%B3%E4%BD%BF%E7%94%A8%20ansible%20%E6%9B%B4%E6%96%B0%20%2Fetc%2Fhosts%20%E6%96%87%E4%BB%B6%20.png)
我想使用 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 }}
我把进一步的研究和测试留给你。