我有 50 台服务器。想使用 ansible 更新 /etc/hosts 文件

我有 50 台服务器。想使用 ansible 更新 /etc/hosts 文件

我想使用 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 }}

我把进一步的研究和测试留给你。

相关内容