Virtual machine 使用盐云时捕获颗粒中的私有ip

Virtual machine 使用盐云时捕获颗粒中的私有ip,virtual-machine,linode,salt-stack,Virtual Machine,Linode,Salt Stack,我从盐开始,这是一个非常好的工具。我一直在使用它来配置Linode虚拟机。我可以毫无问题地创建VM,并通过将:private_ip设置为True来获取私有ip 然而,我想知道是否有一种方法可以在一个颗粒中捕获(Linode)分配的私有ip,这样我就可以在jinja模板中访问它。或者是否有其他方法来获取这些信息 非常感谢 Bobby我没有在Linode环境中检查过它,但是我几乎确信它是标准晶粒结构的一部分,例如 $salt-call grains.get 'ip_interfaces:eth0'

我从盐开始,这是一个非常好的工具。我一直在使用它来配置Linode虚拟机。我可以毫无问题地创建VM,并通过将:private_ip设置为True来获取私有ip

然而,我想知道是否有一种方法可以在一个颗粒中捕获(Linode)分配的私有ip,这样我就可以在jinja模板中访问它。或者是否有其他方法来获取这些信息

非常感谢
Bobby

我没有在Linode环境中检查过它,但是我几乎确信它是标准晶粒结构的一部分,例如

$salt-call grains.get 'ip_interfaces:eth0'
local:
    - 10.0.0.200

我认为这是
public\u-ips
您会遇到问题,因为它需要云供应商api调用才能获得公共IP地址。

您好,谢谢,但是当我提供一个节点,然后立即获得eth0值时,我就得到了public\u-IP值。我试图做的是设置私有网络,作为vm初始创建的一部分。在运行我的各种设置公式之前,手动将值添加到一个支柱文件是很容易的,但是自动化整个过程会很好。恐怕我不理解您的要求/您在这里试图实现什么。我假设-您在首次推出后调用相同的
salt调用grains.get'ip\u interfaces:eth0'
,并获取一些ip地址,您希望记住这些地址以备以后使用。然后安装/启用专用网络,然后更改地址。到目前为止我说的对吗?如果是这样,您可能会记住以下原始IP地址,例如,从shell
a=$(salt call grains.get'IP_interfaces:eth0'——out key | tail-n1);salt call grains.setval原始版\u ip$a