【问题标题】:Salt states using tags from salt-cloud in AWS在 AWS 中使用来自 salt-cloud 的标签的 Salt 状态
【发布时间】:2022-02-04 20:02:40
【问题描述】:

我有一些盐状态,它们使用 minion id 应用于某些特定的 minion。 现在我正在转向云提供商,并且需要根据 salt-cloud 可以设置的标签应用这些状态。

IE。我有一个在 AWS 中运行的实例(不是由 salt-stack 提供的),我可以使用 salt-cloud 和 saltify 模块对其进行加盐,现在我可以识别我的奴才了:

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 instance1 state.sls configure.service

我想做这样的事情:

salt TagName1=Value1 state.highstate

salt TagName1=Value1 state.sls configure.service

【问题讨论】:

  • salt-cloud 仍然是 EC2 实例配置的黑客。
  • @mootmoot 有没有比使用 salt-cloud 更好的方法将 ec2 实例配置为 minion ?还是 hack 是盐的最佳选择?
  • 对于持续集成的意思,也许你应该尝试 terraform。在 saltstack 中,提供 salt-master 和随后的 salt-minion 并不简单。一世。 salt-cloud 可以创建实例并通过它创建的名称来识别它。它不能对其应用标签。 ii.您只能使用 salt.states.boto_ec2.instance_present 来添加/更改标签。 OTH,使用 terraform 更干净,因为您可以标记实例并在配置期间传递 saltstack 引导字符串。
  • 盐云在 2020 年仍是黑客攻击

标签: amazon-ec2 salt-stack salt-cloud


【解决方案1】:

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

看起来您不能使用该标签来提供状态,但是,您可以使用 salt-contrib 中的一些模块将此标签添加到谷物项目中。

https://github.com/saltstack/salt-contrib/tree/master/grains

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多