使用 ansible 更改远程服务器的主机名

使用 ansible 更改远程服务器的主机名

我想更改远程服务器的主机名,因此我使用了主机名模块

- hostname: name="{{my_hostname}}"

但这也改变了ansible_host该值,因此搞乱了剩下的任务。

当我手动执行此操作时:

- shell: hostnamectl set-hostname {{my_hostname}}

然后远程服务器的主机名被更改,并且ansible_host全局变量没有更改,并且所有剩余的播放都成功完成。

我是否hostname正确使用了模块?我感觉它并没有按照我的想法运行。

(我还注意到 repo 中有很多错误报告,但我不确定它们是否与我正在做的事情有关,因为我没有使用 cloud-init)。

答案1

inventory_hostname您应该知道(如何调用它)和(如何访问它)之间的区别。您可以在库存条目中ansible_host使用 ip 地址:ansible_host

   my_hostname ansible_host=192.168.12.34

然后使用hostname模块将机器的主机名更改为“{{inventory_hostname}}”。

相关内容