运行ansible playbook时获取主机名
学习与ansible合作- 我需要为集群部署准备服务器运行ansible playbook时获取主机名,ansible,Ansible,学习与ansible合作- 我需要为集群部署准备服务器 在所有节点上安装相同的程序集,依此类推。 这部分没有问题,一切都顺利。 我是通过ansible剧本来做的。在每个节点上,都需要在文件中显示 /etc/sysconfig/network 写下 NETWORKING=yes HOSTNAME=nn1 其中网络=是 共同的 主机名部分中每台主机的主机名=nn1 我是这样做的 /etc/ansible/hosts [cluster1] nn1 dd1 dd2 dd3 dd4 这里是play
- 在所有节点上安装相同的程序集,依此类推。 这部分没有问题,一切都顺利。 我是通过ansible剧本来做的。在每个节点上,都需要在文件中显示 /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=nn1
其中网络=是
共同的
主机名部分中每台主机的主机名=nn1
我是这样做的
/etc/ansible/hosts
[cluster1]
nn1
dd1
dd2
dd3
dd4
这里是playbook.yml的一部分,我在这里尝试进行所需的更改
- name: sysconfig -> network
tags: wr_net_yes
lineinfile:
path: /etc/sysconfig/network
line: "NETWORKING=yes"
owner: root
group: root
mode: '0644'
- name: sysconfig -> network
tags: wr_net_host
lineinfile:
path: /etc/sysconfig/network
line: "HOSTNAME={{ network_wr }}"
owner: root
group: root
mode: '0644'
这部分
标签:wr\u net\u是
成功
[cluster1]
nn1
dd1
dd2
dd3
dd4
这部分我做不到
标签:wr_net_主机
也许有一些建议、帮助?您可以通过可转换变量实现这一点,如:
- name: sysconfig -> network
tags: wr_net_host
lineinfile:
path: /etc/sysconfig/network
line: "HOSTNAME={{ inventory_hostname }}"
owner: root
group: root
mode: '0644'
我试图这样做,但它给出了一个错误,爬到了另一个方向…谢谢!成功了!