Ansible 动态值替换

Ansible dynamic Value substitution

我对 Ansible 有点陌生,用 template.My 模板编写一个 ansible 剧本有 属性 如下。

hostname: {{ ansible_fqdn }} --> 这是我的目标机器主机名

端口:???

这里的端口会有所不同。对于 host1,它将是 7800,对于 host2,它将是 7801,依此类推...

有人可以帮我实现这个吗?

如果你的端口是增量的,你可以参考下面的代码。

cat template.j2
{% for host in groups['hostnames'] %}
{% if host == ansible_fqdn %}
hostname: {{ host }}
ports: 780{{ loop.index }}
{% endif %}
{% endfor %}

hostnames 是您的主机名的组 而且我认为有更漂亮的方法来存档这个,但我今天没有时间