Amazon ec2 在AWS中使用来自盐云的标记的盐状态

Amazon ec2 在AWS中使用来自盐云的标记的盐状态,amazon-ec2,salt,salt-stack,salt-cloud,Amazon Ec2,Salt,Salt Stack,Salt Cloud,我有一些盐的状态是应用到一些特定的奴才使用奴才id。 现在我要转到一个云提供商,需要根据salt cloud可以设置的标记应用这个状态 例如,我有一个在AWS中运行的实例(不是由salt stack提供),我可以用盐云和盐化模块盐化它,现在我可以识别我的仆从: root@instance1:~# salt instance1 test.ping instance1: True root@instance:~# salt-cloud -f get_tags my-ec2-eu-west

我有一些盐的状态是应用到一些特定的奴才使用奴才id。 现在我要转到一个云提供商,需要根据salt cloud可以设置的标记应用这个状态

例如,我有一个在AWS中运行的实例(不是由salt stack提供),我可以用盐云和盐化模块盐化它,现在我可以识别我的仆从:

root@instance1:~# salt instance1 test.ping
instance1:
    True


root@instance:~# salt-cloud -f get_tags my-ec2-eu-west-private-ips resource_id=instance1_awsid
my-ips:
    ----------
    ec2:
        |_
          ----------
          key:
              TagName1
          resourceId:
              instance1_awsid
          resourceType:
              instance
          value:
              Value1
        |_
          ----------
          key:
              TagName1
          resourceId:
              instance1_awsid
          resourceType:
              instance
          value:
              Value2
我希望基于以下价值观应用我的状态:

IE:而不是古典的:

salt instance1 state.highstate

我想做一些类似的事情:

salt TagName1=Value1 state.highstate


我会回答自己的问题,也许会为别人节省一些时间

看起来您无法使用该标记来提供状态,但是,您可以使用salt contrib中的一些模块将该标记添加到谷物项目中


盐云仍然是EC2实例配置的黑客。@Mootroot是否有比使用盐云更好的方法将EC2实例配置为仆从?或者说黑客是salt的最佳选择?为了实现持续集成,也许你应该试试terraform。在盐栈中,提供盐主和随后的盐仆从并不简单。我salt cloud可以创建实例,并根据其创建的名称对其进行标识。它无法对其应用标记。二,。您只能使用salt.states.boto_ec2.instance_present添加/更改标记。另外,使用terraform更干净,因为您可以标记实例,并在资源调配期间传递saltstack引导字符串
salt TagName1=Value1 state.highstate
salt TagName1=Value1 state.sls configure.service