gpt4 book ai didi

python - 如何在 jinja 模板中获取主机名的 IP 地址

转载 作者:太空狗 更新时间:2023-10-29 17:56:51 25 4
gpt4 key购买 nike

我们的 saltstack 基于主机名(webN.、dbN. 等)。但对于各种事情,我需要这些服务器的 IP。现在我将它们存储在柱子中,但我需要同步的地方数量在增加。

我尝试使用 publish + network.ip_addrs,但这有点糟糕,因为它需要进行整个 salt-roundtrip 来解析主机名。这也取决于小兵的 react 。因此,我正在寻找一种在模板中将主机名解析为 IP 的方法

我假设我可以以某种方式为它编写一个模块,但我的 python 技能非常有限。

最佳答案

您可以使用自定义纹理。在状态树目录下创建文件_grains/fqdn_ip.py:

import socket

def fqdn_ip():
return {
'fqdn_ip': socket.gethostbyname(socket.getfqdn())
}

在模板中:

{{ grains.fqdn_ip }}

另一种方法是使用 dnsutil 模块(需要在 minion 上使用 dig 命令):

{{ salt['dnsutil.A']('host.name.tld')[0] }}

关于python - 如何在 jinja 模板中获取主机名的 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18360528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com