Ansible 如何使用清单文件设置主机名

Ansible 如何使用清单文件设置主机名,ansible,Ansible,我的主机在清单文件中,如下所示: cnamgw01b ansible_ssh_host=172.17.0.26 cnamgw01a ansible_ssh_host=172.17.1.26 cnamgw02b ansible_ssh_host=172.17.0.23 cnamgw02a ansible_ssh_host=172.17.1.23 cnamgw03a ansible_ssh_host=172.17.1.13 cnamgw03b ansible_ssh_host=172.17.0.

我的主机在清单文件中,如下所示:

cnamgw01b ansible_ssh_host=172.17.0.26 
cnamgw01a ansible_ssh_host=172.17.1.26
cnamgw02b ansible_ssh_host=172.17.0.23
cnamgw02a ansible_ssh_host=172.17.1.23 
cnamgw03a ansible_ssh_host=172.17.1.13
cnamgw03b ansible_ssh_host=172.17.0.13 

这些是新版本,我想根据清单文件设置主机名。我已经准备好了一个脚本,在新VM出现时更新清单文件,并分配一个随机主机名。我想将此主机名分配并设置为主机名。我怎样才能做到这一点?还要注意,我还使用文件夹按区域细分主机

您可以运行类似这样的操作,将系统主机名设置为资源清册主机名:

- hosts: all
  tasks:
    - name: set system hostname
      command: hostnamectl set-hostname {{ inventory_hostname }}
也就是说,变量inventory_hostname保存当前主机的名称,与您的清单中的名称相同


此任务假定您有hostnamectl命令可用。您可以将inventory\u hostname的值写入/etc/hostname并单独调用hostname命令。

您可以运行类似的操作将系统主机名设置为inventory主机名:

- hosts: all
  tasks:
    - name: set system hostname
      command: hostnamectl set-hostname {{ inventory_hostname }}
也就是说,变量inventory_hostname保存当前主机的名称,与您的清单中的名称相同


此任务假定您有hostnamectl命令可用。您可以将inventory\u hostname的值写入/etc/hostname并单独调用hostname命令。

您可以使用ansible模块hostname来设置主机名。


您可以使用ansible模块主机名来设置主机名。