运行Ansible-Playbook时获取主机名

时间:2020-10-01 13:48:32

标签: ansible

学会与ansible合作– 我需要为集群部署准备服务器。

  • 在所有节点上安装相同的程序集,依此类推。 这部分没有问题,一切正常。 我通过ansible剧本来做到这一点。在每个节点上时,文件中都有必要 / etc / sysconfig / network

写下以下内容

NETWORKING=yes
HOSTNAME=nn1

其中NETWORKING =是 所有人共有 并且主机名部分中的每个主机分别为HOSTNAME = 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_net_yes 成功

这部分我做不到 标签:wr_net_host

也许有什么建议,帮助吗?

1 个答案:

答案 0 :(得分:0)

您可以通过以下变量来实现此目的,例如:

- name: sysconfig -> network
  tags: wr_net_host
  lineinfile:
    path: /etc/sysconfig/network
    line: "HOSTNAME={{ inventory_hostname }}"
    owner: root
    group: root
    mode: '0644'
相关问题