【问题标题】:Get the host name when running ansible-playbook运行 ansible-playbook 时获取主机名
【发布时间】:2021-01-17 06:12:10
【问题描述】:

学习使用 ansible – 我需要为集群部署准备服务器。

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

写如下

NETWORKING=yes
HOSTNAME=nn1

其中 NETWORKING=yes 共同的 并且主机名部分中每个主机的 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

也许一些建议,帮助?

【问题讨论】:

    标签: ansible


    【解决方案1】:

    您可以通过 ansible 变量来实现这一点,例如:

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

    【讨论】:

    • 我试图这样做,但它给出了一个错误并在另一个方向的某个地方爬升......谢谢!成功了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-21
    • 1970-01-01
    • 2020-11-13
    • 2015-11-17
    • 1970-01-01
    • 1970-01-01
    • 2020-10-11
    相关资源
    最近更新 更多